我有一个字典< string,string>
如果我Json.Encode这个我得到{"Apple":"Apples","Orange":"Oranges"}
我如何才能做到: -
[{ value: "Apples", key: "Apple" }, { value: "Oranges", key: "Orange"}]
最好使用Newtonsoft.Json或jQuery
答案 0 :(得分:4)
在传递给JSON序列化程序之前将其转换为键值对列表:
JsonConvert.SerializeObject(new List<KeyValuePair<string,string>>(dictionary));
答案 1 :(得分:1)
重申我的评论,从IEnumerable&gt;更改数据类型(或IDictionary)到IList&gt;也将使序列化正常工作&#34; a.k.a.将数据序列化为JavaScript数组。在我目前的情况下,我的JavaScript被隔离在一个单独的.js文件中,Razor无法遵循,因此使用JsonConvert.SerializeObject不是一个选项。
这里绝对是一个奇怪的功能。如果有人对JSON序列化默认情况下的反应方式有所了解,那将会很棒。 bug还是故意的?