我想用multible childeren创建一个Json对象(在javascript中)。但父级也必须有一个值,因此代码可以执行:
var parent = {
"child": {
"ownValue": "valueChild",
"grandchild": "ValueGrandChild",
}
};
parent.child.grandchild // return "valueGrandChild"
parent.child // return "valueChild"
这可以在javascript中使用吗?
答案 0 :(得分:0)
不确定我是否理解了这个问题,但至少在格式化对象时出错。如果您更改“;”,它会以您希望的方式工作到“,”。 (见下文)
改变它;
{ test: /\.ts$/, loader: 'babel-loader?presets[]=es2015!strip-loader?strip[]=this.\\$log.log!ts-loader' }
到
var parent = {
"child": {
"ownValue": "valueChild";
"grandchild": "ValueGrandChild";
}
};
那就是你可以通过使用获得valueChild;
var parent = {
"child": {
"ownValue": "valueChild",
"grandchild": "ValueGrandChild",
}
};
答案 1 :(得分:0)
即使您确实获得了一个返回另一个值的对象,您也无法再正常使用该对象。对对象的每个引用只会引用该值(使嵌套对象引用无效)。显然,您可以保留“ownValue”属性,以用于您想要绑定到对象的每个值。
答案 2 :(得分:0)
如果我理解你的问题(我不确定),我会采用不同的策略来解决你的问题。
如您所知,json对象没有属性,只有子属性。您可以使用名为child
的属性来存储父对象的子对象(子树)。
var parent = {
"value": "Parent own value",
"child": {
"grandchild": {"value": "ValueGrandChild", "child": {}}
"anotherchild": {"value": "anotherChildValue", "child": {}}
}
};
孩子和属性分离得更好,你可以解决它们(以及“适当的”对象属性),如下所示:
parent.child.grandchild.value // returns "valueGrandChild"
parent.value // returns "Parent own value"
您还可以使用其他商品:
var how_many_child = Object.keys(parent.child).length
var a_child = parent.child.anotherchild
var how_many_nephew = Object.keys(a_child.child).length
a_chid.value; // returns "anotherChildValue"
parent.child.anotherchild.value; // returns "anotherChildValue"