作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
下面是我要转换成IDictionary
的序列化JSON数组
[
{
"8475": 25532
},
{
"243": 521
},
{
"3778": 15891
},
{
"3733": 15713
}
]
当我尝试使用
JsonConvert.DeserializeObject<IDictionary<string, object>>((string)jarray);
我收到一条错误消息:
Cannot cast 'jarray' (which has an actual type of 'Newtonsoft.Json.Linq.JArray') to 'string'
JSON 反序列化器只需要一个字符串。
最佳答案
如果您已经有了 JArray
,我想您所要做的就是将它转换为字典。
大致是这样的:
IDictionary<string,object> dict = jarray.ToDictionary(k=>((JObject)k).Properties().First().Name, v=> v.Values().First().Value<object>());
Check this for complete code with an example
不过,我认为可能有更好的方法将其转换为字典。我会继续寻找。
关于c# - 如何将下面的JSON数组转换成IDictionary<string, object>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26017184/
我是一名优秀的程序员,十分优秀!