如何将json对象数组反序列化为字典

时间:2011-12-16 12:41:12

标签: c# .net json

我有一个Json字符串

"[{'SymptID': '" + MidID + "', 'ALvl' : '" +JawLvl + "'},
{'SymptID': '" + BckID + "', 'ALvl' : '" + PanLvl + "'},
{'SymptID': '" + SysID + "', 'ALvl' : '" + wPLvl + "'}]"

Dictionary<string, string> Symptoms =
    (Dictionary<string, string>)Newtonsoft.Json.JsonConvert.DeserializeObject(
        data, typeof(Dictionary<string, string>));

foreach (KeyValuePair<string, string> keyValuePair in Symptoms)
{ //do some action }

如何使用这个多数组json数据获取键和值...是否有任何其他方法。

  

注意:问题不重复   为How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET?,   因为json结构不同。

     

这里我们有一个具有2个属性SymptID和ALvl的对象数组,   需要使用键SymptID 和。转换为字典   值ALvl。引用的问题有一个具有多个属性的对象,这些属性具有需要转换为的相应值   字典,属性名称为键,属性值为值   字典。

1 个答案:

答案 0 :(得分:0)

您还可以使用json.net或fastjson开源库以比使用内置.net序列化程序更快更有效的方式执行此任务。

json.net - http://json.codeplex.com/

fastJson - http://www.codeproject.com/Articles/159450/fastJSON