C# 将JToken列表转换为其中一个值的列表
我有一个json JToken列表:C# 将JToken列表转换为其中一个值的列表,c#,linq,json.net,C#,Linq,Json.net,我有一个json JToken列表: List<JToken> subjectresults = jObj[jp]["subjects"].Children().ToList(); 变成: {"Science", "In library"} 我似乎搞不懂语法。 或者,我如何跳过代币,直接进入我的列表。 我没有强烈地键入这个,因为父属性有动态名称,我只需要几个字段 我假设subjects属性是数组: 您问题中的输入JSON示例格式不正确。你能分享实际的JSON,而不是一些可视化的东
List<JToken> subjectresults = jObj[jp]["subjects"].Children().ToList();
变成:
{"Science", "In library"}
我似乎搞不懂语法。
或者,我如何跳过代币,直接进入我的列表。
我没有强烈地键入这个,因为父属性有动态名称,我只需要几个字段 我假设subjects属性是数组:
您问题中的输入JSON示例格式不正确。你能分享实际的JSON,而不是一些可视化的东西吗?(
{“科学”,“在库中”}
也不是格式良好的JSON,但可能不是JSON,只是一些字符串列表?)
{"Science", "In library"}
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"
*/
var json = @"{
""name"": {
""subjects"": [
{
""url"": ""https://openlibrary.org/subjects/science"",
""name"": ""Science""
},
{
""url"": ""https://openlibrary.org/subjects/in_library"",
""name"": ""In library""
}
]
}
}";