0

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のいずれかの方法でオブジェクトにアクセスすることも計画しています。どうすればそれができますか?オブジェクトの親と子の関係は、かなりランダムで意味のあるものである必要があり、さらに、親は複数の子を持つことができます。

4

2 に答える 2

4

すべての「値」キーは一意であるため、辞書キーとして使用できます。したがって、次のように設計します。

{
 "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]];

まだ手に入らない場合は教えてください。

于 2012-12-31T13:31:25.550 に答える
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>

したがって、インデックスがわかっている場合は、そのオブジェクトの任意のプロパティにアクセスできます。

于 2012-12-31T14:00:19.513 に答える