我有一個JObject(使用JSON.Net),我通過解析一些JSON文本創建。我直接操作,在這個JObject的頂層添加鍵。我沒有問題,當我加入的值是一個字符串:如何將Dictionary <string,string>添加到現有的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對象類型。
這是正確的答案 – automagic 2015-01-21 19:53:00