2013-11-02 115 views
6

我正在試驗JSON格式,並不確定如何使用它來構建族樹。這是我得到的(保持簡單,只列出父親,他的孩子以及這些孩子是否有孩子,我沒有列出配偶的姓名)。雖然它的效果很好,但我不知道這樣做的最佳方法(即我的方法乾乾淨淨,例如可伸縮)。如何創建JSON格式的家族樹結構

+3

您識別人通過他們的名字。名稱不是唯一的,因此這是一個糟糕的結構。 ID更適合於需要唯一性的情況。 – ComFreek

+0

這個數據是_users_ type還是創建的東西? – Bulkan

+1

@Bulkan號這是我正在創建的數據。 – Andy

回答

4

最簡單的辦法:

{ 
    "Jonathan Smith": { 
     "Adam": { 
      "Suzy": {}, 
      "Clare": {}, 
      "Aaron": {}, 
      "Simon": {} 
     }, 
     "Timmy": {}, 
     "Alison": { 
      "Natasha": {}, "Zak": {} 
     } 
    } 
} 

更強大的結構:

{ 
    "Smiths": { 
     "Jonathan Smith": { "id": 0}, 
     "Adam Smith": { "id": 1, "father": 0 }, 
     "Suzy Smith": { "id": 4, "father": 1 }, 
     "Clare Smith": { "id": 5, "father": 1 }, 
     "Aaron Smith": { "id": 6, "father": 1 }, 
     "Simon Smith": { "id": 7, "father": 1 }, 
     "Timmy Smith": { "id": 2, "father": 0 }, 
     "Alison Smith": { "id":3, "father": 0 }, 
     "Natasha Smith": { "id": 8, "father": 3 }, 
     "Zak Smith": { "id": 9, "father": 3 } 
    } 
} 

添加更多的關係,母親,丈夫和妻子。

{ 
    "Smiths": { 
     "Jonathan Smith": { "id": 0, "wife": [10]}, 
     "Suzan Smith": { "id": 10, "born": "Suzan Jones", "husband": [0] }, 
     "Adam Smith": { "id": 1, "father": 0, "mother": 10 }, 
     "Suzy Smith": { "id": 4, "father": 1 }, 
     "Clare Smith": { "id": 5, "father": 1 }, 
     "Aaron Smith": { "id": 6, "father": 1 }, 
     "Simon Smith": { "id": 7, "father": 1 }, 
     "Timmy Smith": { "id": 2, "father": 0, "mother": 10 }, 
     "Alison Smith": { "id":3, "father": 0, "mother": 10 }, 
     "Natasha Smith": { "id": 8, "father": 3 }, 
     "Zak Smith": { "id": 9, "father": 3 } 
    } 
} 

有時它是非常容易使用Javascript

var familyTree = {} 
familyTree["Dick Jones"] = { id: 1234, father: 213 } 

使用JSON工作這將允許您添加,刪除,使用的功能,能夠檢查錯誤,然後就拿到產生JSON致電:

JSON.stringify(familyTree) 
0

你必須注意,因爲你添加的覆蓋格式json數據。嘗試使用允許您以簡單的方式響應您想要執行的查詢的結構。

0

試試這個:

{'name': 'John'}, {'name': 'Jack', 'child_of': 'John'}, {'name': 'Charlie', 'child_of': 'Jack', 'grand_child_of': 'John'} 
0

樹木的工作是很困難的JSON,但也許你可以使用等級的概念(代在這個例子中),這樣你可以瞭解叔伯,堂兄弟等

[ 
    { 
     "id":100, 
     "name":"Jhon Smith", 
     "generation":1, 
     "children":[ 
     { 
      "id":101, 
      "name":"Michael Smith", 
      "generation":2, 
      "children":null 
     }, 
     { 
      "id":102, 
      "name":"Diana Smith", 
      "children":[ 
       { 
        "id":301, 
        "name":"Britney Smith", 
        "generation":3, 
        "children":null 
       } 
      ] 
     } 
     ] 
    }, 
    { 
     "id":200, 
     "name":"Richard Smith", 
     "generation":1, 
     "children":[ 
     { 
      "id":101, 
      "name":"Michael Smith", 
      "generation":2, 
      "children":null 
     }, 
     { 
      "id":102, 
      "name":"Diana Smith", 
      "generation":2, 
      "children":null 
     } 
     ] 
    } 
]