c# - Json嵌套对象反序列化
问题描述
我想根据消耗的 Json 动态创建 c# 对象。我不关心这个 json,只是想挑选出我需要的属性。
我不知道使用动态关键字是否是最佳实践,并且基于创建的对象我可以创建一个全新的 json 结构。
如何对嵌套对象进行去串音处理。示例 json:
{
'name': 'James',
'Profile': {
'body': {
'id': 'Employee1',
'type': 'Employee',
'attributes': {
props...
},
'job': {
props..
},
'team': [],
},
}
这是一个简单的尝试。
var test = JsonConvert.DeserializeObject<dynamic>(json);
Console.WriteLine(test.ToString());
我可以创建对象列表,但是当我开始父/子对象时,我似乎无法让它工作。
下面的 JSON 可以很好地作为输出:
'body': {
'id': 'Employee1',
'type': 'Employee',
'attributes': {
props...
},
'job': {
props..
},
'team': [],
}
期望的输出
{
'name': 'James',
'Profile': {
'body': {
'id': 'Employee1',
'type': 'Employee',
'attributes': {
props...
},
'job': {
props..
},
'team': [],
},
'Profile': {
'body': {
'id': 'Employee2',
'type': 'Employee',
'attributes': {
props...
},
'job': {
props..
},
'team': [],
}
}
如何反序列化嵌套对象?
解决方案
您可以按照这行代码使用 json 类
dynamic data = Json.Decode(json);
推荐阅读
- arrays - 在反应中设置状态数组
- python - 如何更改 jupyter notebooks 工作目录配置
- vue.js - `set-cookie` 在 `npm run build` 生成的 dist 中不起作用
- flutter - 交错的 Gridview 创建照片列而不是网格
- react-native - 用 Flatlist 反应原生 inputText
- java - 对于一项作业,我创建了一个使用 oracle 11G express 运行的 GUI 界面。我无法让我的 executeUpadte 返回我的 GUI
- python - 为什么我从网络抓取中得到不一致的结果?
- c++ - 调用 getline 后 cin 在 Main 中被忽略
- python - 如何将 pyplot 图形保存为最大化状态
- cmake - 为什么没有CMAKE_CXX_COMPILER