下面是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>
中。
1条答案
按热度按时间5f0d552i1#
首先,你不应该使用
JavaScriptSerializer
,微软甚至明确地说in the JavaScriptSerializer docs。要在Json.NET中反序列化对象,语法非常相似:
小提琴here
更新
如果您使用的是.NET Core 3 / .NET 5或.NET 6,则包含System.Text.Json库,而不包含其他依赖项。
使用该库进行反序列化的语法为: