具有嵌套子节点的Json父值

时间:2017-01-12 10:48:33

标签: javascript json

我想用multible childeren创建一个Json对象(在javascript中)。但父级也必须有一个值,因此代码可以执行:

    var parent = {
      "child": {
         "ownValue": "valueChild",
         "grandchild": "ValueGrandChild",
      }
    };
parent.child.grandchild // return "valueGrandChild"
parent.child // return "valueChild"

这可以在javascript中使用吗?

3 个答案:

答案 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"
相关问题