如何在C#中将JSON字符串解析为名称值对

时间:2017-12-13 11:11:52

标签: c# json javascriptserializer

我必须将JSON字符串解析为名称值对列表:

{"vars":[
 {"name":"abcd","value":"true"},
 {"name":"efgh","value":"false"},
 {"name":"xyz","value":"sring1"},
 {"name":"ghi","value":"string2"},
 {"name":"jkl","value":"num1"}
 ],"OtherNames":["String12345"]}    

由于涉及多方,我无法添加newtonsoft JsonConvert的引用。

使用JavaScriptSerializer我只能在json中有一个值而不是string

时才能将array转换为名称值
 JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
 Dictionary<string,string> dict = jsSerializer.Deserialize<Dictionary<string, string>>(jsonText);

我认为声明我将获得数组值的声明在某处丢失了。

1 个答案:

答案 0 :(得分:3)

您无法将Json反序列化为Book 5。因为json包含两个不同的数组,你应该使用复杂的对象来反序列化它;

Dictionary<string, string>