JSON テキストを解析して作成した JObject (JSON.Net を使用) があります。この JObject の最上位にキーを追加して、直接操作しています。追加する値が文字列の場合、問題はありません。
json["newkey"] = "New Value"; // works
しかし、ディクショナリを追加する方法を理解できれば、私は気の毒になります。
Dictionary<string,string> dict = new Dictionary<string,string>();
dict["one"] = "1";
dict["two"] = "2";
json["dict"] = dict; // fails
私はJSON.Netドキュメントをかなりグーグルで読んだり読んだりしましたが、すべてが理由JSONテキストをJObjectにするか、シリアライゼーションを使用して.NETオブジェクトをJSONテキストとして書き込むことに向けられているようです。または、洗練された LINQ ステートメントを使用して、複雑なオブジェクトであらゆる種類のことを行う...
私はこれらを試しましたが、どれもうまくいきませんでした:
json["dict"] = new JObject(dict);
json["dict"] = new JObject((Dictionary<string,string>)dict);
json["dict"] = new JArray(dict); // desperation sets in :)
json["dict"] = (JObject)dict; // please dear god let this work
私が遭遇した最新のエラーのほとんどは次のとおりです。
System.Collections.Generic.KeyValuePair`2[System.String,System.String] 型の JSON オブジェクト型を特定できませんでした。