反序列化JSON到键值对的列表[复制](Deserialize json to list of Ke

2019-10-30 12:14发布

这个问题已经在这里有一个答案:

  • 我怎样才能反序列化JSON到一个简单的词典<字符串,字符串>在ASP.NET? 20个回答

我有以下的JSON:

[
   {
      "key":"key1",
      "value":"val1"
   },
   {
      "key":"key2",
      "value":"val2"
   }
]

我怎样才能反序列化到的列表/阵列NameValuePair<string, string>

例:

var json = "[{\"key\":\"key1\",\"value\":\"val1\"},{\"key\":\"key2\",\"value\":\"val2\"}]";

var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<List<KeyValuePair<string,string>>>(json);

上面的代码运行,但列表中的数据为null 。 我可以提取阵列成List<Object>虽然。

Answer 1:

首先,你不应该使用JavaScriptSerializer ,微软甚至明确地说, 在JavaScriptSerializer文档 。

反序列化Json.NET对象的语法很相似:

var json = "[{\"key\":\"key1\",\"value\":\"val1\"},{\"key\":\"key2\",\"value\":\"val2\"}]";

var result = JsonConvert.DeserializeObject<List<KeyValuePair<string,string>>>(json);

小提琴这里



文章来源: Deserialize json to list of KeyValue pairs [duplicate]
标签: c# json c#-6.0