c# - C# 将 JSON 反序列化到较低级别?
问题描述
我将一些 JSON 反序列化为 Data1 类型的列表。
班上:
public class RootObject
{
public List<Data1> data { get; set; }
public string status { get; set; }
public int requested { get; set; }
public int performed { get; set; }
}
public class Data1
{
public List<ClioFolder> data { get; set; }
public int status { get; set; }
}
public class ClioFolder
{
public int id { get; set; }
public string name { get; set; }
public Parent parent { get; set; }
}
public class Parent
{
public int id { get; set; }
public string name { get; set; }
}
杰森:
{
"data": [
{
"data": [
{
"id": 66880231,
"name": "root",
"parent": null
},
{
"id": 68102146,
"name": "Dummy",
"parent": {
"id": 66880231,
"name": "root"
}
}
],
"status": 200
}
],
"status": "completed",
"requested": 10,
"performed": 10
}
使用此命令:
List<Data1> allData = JsonConvert.DeserializeObject<RootObject>(content).data;
这工作正常,但我真正需要的是它自己的列表中两个“数据”对象中的数据。我以为我可以做类似的事情:
List<ClioFolder> allClios = allData.data;
但这不起作用。我也尝试从 JSON 直接脱轨到第二个列表中,但这也不起作用:
List<Cliofolder> allClios = JsonConvert.DeserializeObject<RootObject>(content).data.data;
实现这一目标的正确方法是什么?
解决方案
这是一个清单。你应该使用:
List<ClioFolder> test = allData.FirstOrDefault()?.data;
推荐阅读
- javascript - JavaScript - 如果用户开始滚动,弹出脚注消失
- html - z-index 在 Safari 和手机屏幕中不起作用
- c# - CS7036 C# 如何解决错误按钮 onclick
- c# - 创建没有后台服务的 .NET Core 控制台应用程序的“正确”方法
- flutter - 热重载不更新资产文件
- django - 将自定义模型管理器应用于 Django Admin(用于代理模型)
- javascript - 如何使用 nuxt firebase 部署 Web 应用程序?
- livewires - 对livewire不太了解
- c++ - 如何处理插入 '\0' 的字符数组?
- windows - GPU Compute 在新版本的wsl2 中不可用?