Json.net自定义字典格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json.net自定义字典格式相关的知识,希望对你有一定的参考价值。
我正在编写一些类来调用我没有编写的API。 API编写得很奇怪,并且有一些看起来像这样的数据:
[
{
"AB": 20
},
{
"CD": 15
}
]
我知道一个典型的字典会像这样序列化:
{
"AB": 20,
"CD": 15
}
有什么我可以映射到匹配他们写的东西而不必编写一堆自定义代码?
答案
解析此类JSON并获取包含所有键/值的Dictionary
的一种方法如下:
string json = @"
[
{
""AB"": 20
},
{
""CD"": 15
},
{
""EF"": 35
}
]";
JArray obj = JsonConvert.DeserializeObject<JArray>(json);
var dict = obj.ToList()
.SelectMany(x => x.ToList())
.Cast<JProperty>()
.ToDictionary(x => x.Name, x => x.Value);
基本上,它会展平所有数组元素并从每个元素构造一个字典。
以上是关于Json.net自定义字典格式的主要内容,如果未能解决你的问题,请参考以下文章
使用 Json.Net 序列化时指定自定义 DateTime 格式
如何将字典的值序列化为json(使用json.net)[重复]
具有数据类型的 Json.NET 自定义 JsonConverter