具有100个对象的JSON数据结构的输出应如下所示:
[{
"Value": "Sens1_001",
"Parent": Null,
"Child": {
"Value": "Sens2_068",
"Parent":"Sens1_001",
"Child" : {
"Value": "Sens3_034",
"Parent": "Sen2_068",
"Child": null,
"z_cordinate": 5
},
"z_cordinate": 0
},
"z_cordonate": -5
},
{
"Value": "Sens1_002",
"Parent": Null,
"Child": {
"Value": "Sens2_037",
"Parent":"Sens1_002",
"Child" : {
"Value": "Sens3_099",
"Parent": "Sen2_037",
"Child": null,
"z_cordinate": 5
},
"z_cordinate": 0
},
"z_cordonate": -5
},
{
"Value": "Sens1_003",
"Parent": Null,
"Child": {
"Value": "Sens2_012",
"Parent":"Sens1_003",
"Child" : {
"Value": "Sens3_054",
"Parent": "Sen2_012",
"Child": null,
"z_cordinate": 5
},
"z_cordinate": 0
},
"z_cordonate": -5
},
.
.
. // till 100th object
{
"Value": "Sens1_100",
"Parent": Null,
"Child": {
"Value": "Sens2_001",
"Parent":"Sens1_100",
"Child" : {
"Value": "Sens3_021",
"Parent": "Sen2_001",
"Child": null,
"z_cordinate": 5
},
"z_cordinate": 0
},
"z_cordonate": -5
}]
注意:我编辑了样本查找对象,请再次查看,我更改了大括号,看起来更像是一个数组,而不是普通对象。 JSON是次要的,我的数组应该符合我的目的。
目的:
我如何访问对象X.parent.child方式。我有一些知识,但还不足以构建这个对象。我也计划以任何方式访问对象,Grapndparent - Parent - Child和Me - Parent - Grandparent。我怎么能这样做?对象父子关系应该是有意义的而且是随机的,而且父对象可以有多个子对象。
答案 0 :(得分:4)
由于所有'value'键都是唯一的,因此您可以将其作为字典键。 所以设计它就像:
{
"Sens1_001": {
"value": "Sens1_001",
"parent": null,
"child": "Sen2_068",
"z_coordinate": 5
},
"Sens2_068": {
"value": "Sens2_068",
"parent": "Sens1_001",
"child": "Sen3_098",
"z_coordinate": -5
}
.
.
.
}
一旦这本字典'dict'准备就绪,如果你知道祖父母的价值,那么:
grandparent = dict[value];
parent = dict[grandparent[child]];
child = dict[parent[child]];
同样,如果你知道孩子的价值,
child = dict[value];
parent = dict[child[parent]];
grandparent = dict[parent[parent]];
告诉我,如果你不理解它。
答案 1 :(得分:0)
因为json本身就是一个javascript数组,所以你可以像访问数组一样访问json对象;
<script>
var json = [
{'SMAK' : 1, 'parent': 'i m perent 1', 'child' : 'i m child'},
{'SMAK' : 2, 'parent': 'i m perent 2', 'child' : 'i m child'},
{'SMAK' : 3, 'parent': 'i m perent 3', 'child' : 'i m child'},
{'SMAK' : 4, 'parent': 'i m perent 4', 'child' : 'i m child'}
]
console.log(json[0]);
console.log(json[1].parent);
console.log(json[3]['child']);
</script>
因此,如果您知道索引,则可以访问该对象的任何属性;