我有一个通过解析一些 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 对象类型。