2012-12-31 67 views
0

與100個對象的JSON數據結構的輸出應該是這樣的:如何創建自定義的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。我怎麼能這樣做?對象親子關係應該是有意義的而且是隨機的,而且父母可以有多個孩子。

+1

什麼?你能否重新解釋一下這個問題或者添加一些細節使其易於理解? – IsisCode

+0

我編輯了問題,請檢查並讓我知道如果你正在尋找任何進一步的細節 –

+2

這是無效的JSON,有一個數組,你必須使用'[,]'不''[JSON](http ://www.json.org/) –

回答

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 
       } 
. 
. 
. 
} 

一旦這個字典「字典」準備好了,如果你知道祖父母的值,則:

grandparent = dict[value]; 
parent = dict[grandparent[child]]; 
child = dict[parent[child]]; 

同樣,如果你知道孩子的價值,

child = dict[value]; 
parent = dict[child[parent]]; 
grandparent = dict[parent[parent]]; 

告訴我,如果你不明白它仍然。

+0

+1使用對象名稱作爲鍵是鍵(不是雙關語)。 – jbabey

+0

dict是JSON字典對象。 – GautamJeyaraman

+0

使用該值作爲鍵的Ya是解決方案。 – GautamJeyaraman

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> 

所以,如果你知道索引,你可以訪問該對象的任何屬性;

+0

感謝您的回覆,但我的對象關係應該像父母和孩子一樣有意義 –

相關問題