【发布时间】:2018-07-09 21:06:03
【问题描述】:
Json 结构:
{
"id": "30080",
"dataelements": {
"Name": "abc",
},
"children": [
{
"id": "33024",
"dataelements": {
"Name": "a",
},
"children": [
{
"id": "33024",
"dataelements": {
"Name": "b"
},
"children": [
{
"id": "33024",
"dataelements": {
"Name": "z"
},
"children": []
}
]
}
]
},
{
"id": "4800",
"dataelements": {
"Name": "d"
},
"children": [
{
"id": "4800",
"dataelements": {
.......................
如图所示,我有嵌套的 json 数据。对于每个子对象,我创建一个节点模型。子对象内部可以有其他子对象。
if (ele == "dataelements")
{
var categoryNode = new NodeModel(
{
label: row.dataelements.Name,
icons: [{ iconName: 'product'}],
grid: row[ele]
});
}
if(ele == "children")
{
var subCategoryNode;
var subCategoryIndex = 1;
for (var i = 0, len = row.children.length; i<len; i++)
{
subCategoryNode = new NodeModel(
{
label: row.children[i].dataelements.Name,
icons: [{
iconName: '3dpart' }],
grid: row.children[i].dataelements
});
categoryNode.addChild(subCategoryNode);
}
}
此代码仅处理一级子节点。 当我不知道到底嵌套了多少子级别时,如何检查内部子级?
【问题讨论】:
-
请创建一个minimal reproducible example。我们不会将您的json数据从图片写入代码
-
你可以使用递归来迭代你的对象
-
你能分享一下JSON吗
-
内部孩子的数量是可变的。如何迭代或什么可以是可迭代的条件?
标签: javascript arrays json loops