我有一个json JTokens列表:
List<JToken> subjectresults = jObj[jp]["subjects"].Children().ToList();
请注意,我的jp是var jp = jObj.Properties().First().Name;
,因为名称是动态的。
每个令牌都包含另外两个项目,即URL和名称。
我想从此jtokens列表中获取仅包含名称值的字符串列表。
因此:
[0]: {{
"url": "https://openlibrary.org/subjects/science",
"name": "Science"
}}
[1]: {{
"url": "https://openlibrary.org/subjects/in_library",
"name": "In library"
}}
成为:
{"Science", "In library"}
我似乎无法弄清楚语法。 或者,如何跳过令牌并直接进入列表。 我没有强烈键入此内容,因为parent属性具有动态名称,并且我只需要几个字段。
答案 0 :(得分:0)
我想主题-属性是 Array :
var jObj = JObject.Parse(json);
var jp = jObj.Properties().First().Name;
var subjectresults = jObj[jp]["subjects"]
.Children()
.Select(v => v["name"].Value<string>())
.ToArray();
/*
subjectresults
{string[2]}
[0] [string]:"Science"
[1] [string]:"In library"
*/
源json:
var json = @"{
""name"": {
""subjects"": [
{
""url"": ""https://openlibrary.org/subjects/science"",
""name"": ""Science""
},
{
""url"": ""https://openlibrary.org/subjects/in_library"",
""name"": ""In library""
}
]
}
}";