在我的 c# 项目中,我使用Json.net Library。
我有很多子字段的长 Json,例如:
{
"count": 10,
"Foo1": [
{
"id": "1",
"name": "Name1"
},
{
"id": "2",
"name": "Name3"
},
{
"id": "3",
"name": "Name4"
}
],
"Foo2": [
{
"id": "4",
"name": "Name3",
"specific_field": "specific_values1"
},
{
"id": "5",
"name": "Name3",
"specific_field": "specific_values2"
},
{
"id": "6",
"name": "Name3",
"specific_field": "specific_values3"
}
],
"Foo3": [
{
"id": "7"
},
{
"id": "8"
},
{
"id": "9"
}
]
}
而且我需要获取所有列表specific_field
(id 4-6),但无法将 json 反序列化为对象,因为Foo1
, Foo2
... 动态更改。
我想知道,这是否可以获取specific_field
我只有 json 的值?
我想,我找到了解决方案:
var list = new List<string>();
var result = ((JToken)json);
foreach (var res in result)
{
list.AddRange(from foo in res.First let ret = foo["specific_field"] where (dynamic) ret != null select foo["specific_field"].ToString());
}
在评论中,提供,你怎么看?