【发布时间】:2017-10-11 23:14:31
【问题描述】:
我有一个如下的 JSON 对象
[
{
"Id": 7,
"Name": "Colocation Folder",
"ParentId": 1,
"depth": 0
},
{
"Id": 8,
"Name": "CoLo Real Estate",
"ParentId": 7,
"depth": 1
},
{
"Id": 10,
"Name": "CoLo: Burst",
"ParentId": 7,
"depth": 1
},
{
"Id": 34,
"Name": "CoLo Dedicated Bandwidth",
"ParentId": 7,
"depth": 1
},
{
"Id": 10035,
"Name": "Infrastructure as a Service",
"ParentId": 7,
"depth": 1
},
{
"Id": 10037,
"Name": "Software as a Service",
"ParentId": 7,
"depth": 1
},
{
"Id": 10038,
"Name": "IaaS Component Upgrade",
"ParentId": 7,
"depth": 1
},
{
"Id": 668,
"Name": "CoLo Misc Folder",
"ParentId": 7,
"depth": 1
},
{
"Id": 758,
"Name": "CoLo: Conduit Fee",
"ParentId": 668,
"depth": 2
},
{
"Id": 765,
"Name": "CoLo: Private VLAN",
"ParentId": 668,
"depth": 2
}
]
Id 和 ParentId 字段显示项目之间的关系。我需要使用 C# 将其作为嵌套 JSON。
由于会有很多这样的模型,我不想为每个模型创建单独的类。 C# 中是否有一种通用方法将采用平面 JSON 数组,将 ID 和 ParentId 字段作为输入,然后返回一个嵌套 JSON 以及数组中的所有其他字段?例如,我正在寻找如下嵌套 JSON 的输出:
[
{
"Id": 7,
"Name": "Colocation Folder",
"items": [
{
"Id": 8,
"Name": "CoLo Real Estate",
"ParentId": 7
},
{
"Id": 10,
"Name": "CoLo: Burst",
"ParentId": 7
},
{
"Id": 34,
"Name": "CoLo Dedicated Bandwidth",
"ParentId": 7
},
{
"Id": 10035,
"Name": "Infrastructure as a Service",
"ParentId": 7
},
{
"Id": 10037,
"Name": "Software as a Service",
"ParentId": 7
},
{
"Id": 10038,
"Name": "IaaS Component Upgrade",
"ParentId": 7
},
{
"Id": 668,
"Name": "CoLo Misc Folder",
"ParentId": 7,
"items": [
{
"Id": 758,
"Name": "CoLo: Conduit Fee",
"ParentId": 668
},
{
"Id": 765,
"Name": "CoLo: Private VLAN",
"ParentId": 668
}
]
}
]
}
]
【问题讨论】:
-
举一个你想要的结果的例子。目前尚不清楚您要做什么。
-
我已经编辑了我的问题以显示所需的结果。谢谢
-
在您的示例 JSON 中,为什么根对象有
ParentId的1?那是指什么? -
Brian - 这基本上意味着它有一个父级,这里没有显示。基本上,这就像树中的一个分支。我只希望基于 ParentId 嵌套子项