JSONには次のような2つの配列があります。
proj1 proj1
taska taska
charge1 charge1
charge2 taskb
taskb charge1
charge1 charge2
proj2 proj2
taska taska
taskb charge1
charge1 taskb
charge1
taskc
proj3
taska
そして、私はそれらを次のようなものにマージしてほしい:
proj1
taska
charge1
charge2
taskb
charge1
charge2
proj2
taska
charge1
taskb
charge1
taskc
proj3
taska
jQueryのextend
メソッドを使用して再帰的にマージしようとしましたが、配列をマージする必要があるため失敗し、extend
代わりに配列を置き換えます。各リストの各レベルを反復処理する必要がありますか、それともオブジェクトと配列extend
をマージするようなより洗練されたソリューションがありますか?
これが私のリストの1つのJSONの例です:
{
"projects": [
{
"projectName": "JobIdTooManyChar",
"tasks": [
{
"name": "Process Graphics",
"charges": [
{
"date": "2012-06-18",
"hours": 1
},
{
"date": "2012-06-28",
"hours": "5"
}
]
},
{
"name": "Custom Software",
"charges": [
{
"date": "2012-06-18",
"hours": 1
},
{
"date": "2012-06-19",
"hours": 24
}
]
},
{
"name": "Consulting",
"charges": [
{
"date": "2012-06-18",
"hours": 1
},
{
"date": "2012-06-21",
"hours": 1
}
]
}
]
},
{
"projectName": "JobIdTooManyChar",
"tasks": [
{
"name": "CAD Drawings",
"charges": [
{
"date": "2012-06-18",
"hours": 5
},
{
"date": "2012-06-19",
"hours": 6
},
{
"date": "2012-06-21",
"hours": 9
}
]
}
]
}
]
}