c# - 如何在 C# 中使用 Newtonsoft.json 解析具有不同名称的 JSON 子节点列表
问题描述
我希望将 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
推荐阅读
- r - 将日期对象强制转换为 POSIXct 对象
- c# - 仅当具有唯一 11 个字符代码的所有文件都存在时才处理文件
- flutter - onTap 转到下一个列表项 (Flutter)
- python - Python 3.7:导入 websockets 模块时出现 NameError
- matlab - 试验台和平衡算法
- sequelize.js - sequelize.js 迁移执行顺序
- hibernate - Jpa Hibernate:读取更新值问题
- python - 在 Python 中使用正则表达式从字符串中提取数字(包括破折号)
- mysql - 1NF、2NF 和 3NF 归一化?
- google-chrome - 谷歌浏览器在哪里存储用户名和密码?