我有一个像这样的JSON字符串:
{
"entries": {
"101": [
{ "title": "A" },
{ "title": "B" }
],
"102": [
...
],
... // other properties
},
...
}
一个属性(条目)是具有多个属性的对象。 "条目"'属性名称实际上是某种类别代码,将根据查询而改变。
我需要反序列化这个JSON字符串。由于属性名称的更改,反序列化为类(Newtonsoft.Json.JsonConvert.DeserializeObject<MyClass>(theString)
)是不可能的。所以看起来我必须解析它。
我能想到的最佳方式是投射&#34;条目&#34;进入JObject,获取其属性,并循环遍历属性以继续进行。像这样:
var parsed = JObject.Parse(jsonStr);
var flattened = ((JObject)parsed["entries"])
.Properties()
.SelectMany(p => parsed["entries"][p.Name])
.ToList();
这个JSON设置(使用对象属性作为某种字典)是否有名称?有没有更简单/有效的方法来处理json.net?