/// <summary> /// オプションフィールドを検索し、"options"キーに入れる /// </summary> /// <param name="json">NbJsonObject</param> /// <returns>修正されたNbJsonObject</returns> protected NbJsonObject ConvertJsonToOptionsIncluded(NbJsonObject json) { var modifiedJson = new NbJsonObject(); var option = new NbJsonObject(); //キーをListに変換する List <string> keysList = json.Keys.ToList(); foreach (string key in keysList) { if (IsKeyForOption(key)) { // オプションに格納 option.Add(key, json[key]); } else { // modifiedJsonにコピー modifiedJson.Add(key, json[key]); } } // オプションが存在する場合 if (option.Count() > 0) { // "options"キーに入れる modifiedJson[KeyOptions] = option; // 元のキー/値を削除 List <string> list = option.Keys.ToList(); foreach (string key in list) { modifiedJson.Remove(key); } } return(modifiedJson); }
// オプションプロパティを検索し、"options"キーに入れる protected void FindAndSetOptions(NbJsonObject json) { NbJsonObject option = new NbJsonObject(); //キーをListに変換する List <string> keysList = json.Keys.ToList(); foreach (string key in keysList) { FindOptions(key, json, option); } if (option.Count() > 0) { json[KeyOptions] = option; // 元のキー/値を削除 List <string> list = option.Keys.ToList(); foreach (string key in list) { json.Remove(key); } } }