オブジェクトのリストをjstreeで食べられるjson形式に「変換」したいと思います。
data = [
{
"data" : {
"title" : "father",
"attr" : { "href" : "#" }
},
"children" : [
{
"data" : {
"title" : "Older Son",
"attr" : { "href" : "#" }
},
"children" : []
},
{
"data" : {
"title" : "Younger Son",
"attr" : { "href" : "#" }
},
"children" : []
}
]
},
]
私の入力は次のようになります。
[
Object
id: 35
name: "bnm,bnm"
parent_id: null
,
Object
id: 36
name: "ghk"
parent_id: 35
,
Object
id: 37
name: "hgkgh"
parent_id: null
,
Object
id: 38
name: "jklhjk"
parent_id: null
,
Object
id: 39
name: "fghdfgh"
parent_id: 38
,
Object
id: 40
name: "bsdbd"
parent_id: 38
,
...]
正直なところ、これは木ではなく、森です。しかし、それは問題ではありません。
私はそれにかなりの時間を費やしましたが、それを機能させることができませんでした。配列の操作は、javascript では (Java、C++、または PHP と比較して) 厄介なようです...
私がこれまでに試したことは次のとおりです。
- (前) ソース データ (オブジェクトのリスト) が 1 つの条件を満たしている: 息子は親になる前に存在することはできません
- 連想配列 (key=id、value=object) にするため、文字列をキーにする必要がありました。
- 最後の配列要素をポップし、親要素の子配列内にプッシュします。null 以外のすべての親要素に対してこれを繰り返します。
- これがうまくいくことを願った。