【问题标题】:How to deserialize the json array of objects to dictionary [duplicate]如何将对象的json数组反序列化为字典[重复]
【发布时间】:2012-01-21 23:42:23
【问题描述】:

我有一个 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 的对象数组, 需要使用 key SymptID 转换为字典和 value ALvl.  参考问题有一个对象,该对象具有多个属性,这些属性具有需要转换为的对应值 以属性名称作为键,属性值作为值的字典 字典。

【问题讨论】:

  • 您也可以使用 JavaScriptSerializer 类 (System.Web.Extensions)。 var result = serializer.Deserialize>(yourJsonString);

标签: c# .net json


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    相关资源
    最近更新 更多