QML 中构建多层嵌套的 JSON 数组
在 QML 中组包 JSON 数组可以使用 JavaScript 语法来实现。可以通过循环遍历来逐层构建 JSON 数组。以下是一个示例:
// 定义一个 JSON 数组
var data = {
'items': []
};
// 循环遍历构建 JSON 数组
for(var i = 0; i < 5; i++) {
var item = {
'id': i,
'name': 'item' + i,
'children': []
};
// 构建子 JSON 数组
for(var j = 0; j < 3; j++) {
var child = {
'id': i*10 + j,
'name': 'child' + j
};
item.children.push(child);
}
data.items.push(item);
}
// 输出 JSON 数组
console.log(JSON.stringify(data));
该示例中构建了一个包含 5 个元素的 JSON 数组,每个元素包含一个 id、name 和 children 属性,children 属性又包含一个 3 个元素的子 JSON 数组。输出结果如下:
{
'items': [
{
'id': 0,
'name': 'item0',
'children': [
{
'id': 0,
'name': 'child0'
},
{
'id': 1,
'name': 'child1'
},
{
'id': 2,
'name': 'child2'
}
]
},
{
'id': 1,
'name': 'item1',
'children': [
{
'id': 10,
'name': 'child0'
},
{
'id': 11,
'name': 'child1'
},
{
'id': 12,
'name': 'child2'
}
]
},
{
'id': 2,
'name': 'item2',
'children': [
{
'id': 20,
'name': 'child0'
},
{
'id': 21,
'name': 'child1'
},
{
'id': 22,
'name': 'child2'
}
]
},
{
'id': 3,
'name': 'item3',
'children': [
{
'id': 30,
'name': 'child0'
},
{
'id': 31,
'name': 'child1'
},
{
'id': 32,
'name': 'child2'
}
]
},
{
'id': 4,
'name': 'item4',
'children': [
{
'id': 40,
'name': 'child0'
},
{
'id': 41,
'name': 'child1'
},
{
'id': 42,
'name': 'child2'
}
]
}
]
}
通过循环遍历,可以逐层构建复杂的 JSON 数组。
原文地址: https://www.cveoy.top/t/topic/nPFt 著作权归作者所有。请勿转载和采集!