我希望将 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"
}
}
}
}
我的模型类看起来像这样
public class Record
{
public string Name { get; set; }
public string Description { get; set; }
}
我正在寻找的是创建一个
List<Record> Records
我不关心记录子节点的名称(即记录: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();
您可以在此处找到相关的 Json.NET 文档: https://www.newtonsoft.com/json/help/html/SerializingJSONFragments.htm
关于c# - 如何在 C# 中使用 Newtonsoft.json 解析具有不同名称的 JSON 子节点列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54661424/