我希望将 JSON 解析为 C# 列表。问题是我尝试解析的数据不是数组格式。以下是示例 JSON
{
"results":{
"records":{
"record:8545314564":{
"name":"record 1",
"description":"description for record 1"
},
"record:2254698789":{
"name":"record 2",
"description":"description for record 2"
},
"record:7454687851":{
"name":"record 3",
"description":"description for record 3"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的模型类看起来像这样
public class Record
{
public string Name { get; set; }
public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是创建一个
List<Record> Records
Run Code Online (Sandbox Code Playgroud)
我不关心记录子节点的名称(即记录:8545314564,记录:2254698789 等)。我所关心的是每个记录节点内的名称和描述属性。
如果有人可以提供 C# 示例代码来实现所需的输出,我将不胜感激。
还有另一种选择:
using Newtonsoft.Json.Linq;
...
var jObject = JObject.Parse(yourJsonString);
var records = jObject["results"]["records"]
.Children()
.Children()
.Select(i => i.ToObject<Record>())
.ToList();
Run Code Online (Sandbox Code Playgroud)
您可以在这里找到相关的 Json.NET 文档: https://www.newtonsoft.com/json/help/html/SerializingJSONFragments.htm