jsonオブジェクトを別のjsonオブジェクトに再帰的に変換する際に助けが必要です。jsonオブジェクトを再帰的に変換する
私の入力オブジェクトは、次のようになります。
var my_obj = {
"id": 22,
"eventTypeId": 37,
"eventTypeName": "CommonOnly",
"parentEvent": {
"id": 21,
"eventTypeId": 35,
"eventTypeName": "FullTest",
"parentEvent": {
"id": 20,
"parentEvent": null,
"eventTypeId": 38,
"eventTypeName": "FullTest"
}
},
"childrenEvents": [
{
"id": 24,
"parentEventId": 22,
"eventTypeId": 36,
"eventTypeName": "BlindedTest",
"childrenEvents": []
},
{
"id": 23,
"parentEventId": 22,
"eventTypeId": 38,
"eventTypeName": "OneCustom",
"childrenEvents": []
}
]
}
私が欲しいの出力は次のようになります。
var my_obj = {
"id": 20,
"eventTypeId": 38,
"parentEvent": null,
"eventTypeName": "FullTest",
"childrenEvents": [{
"id": 21,
"eventTypeId": 35,
"eventTypeName": "FullTest",
"childrenEvents": [
{
"id": 22,
"eventTypeId": 37,
"eventTypeName": "CommonOnly",
"childrenEvents": [
{
"id": 24,
"parentEventId": 22,
"eventTypeId": 36,
"eventTypeName": "BlindedTest",
"childrenEvents": []
}, {
"id": 23,
"parentEventId": 22,
"eventTypeId": 38,
"eventTypeName": "OneCustom",
"childrenEvents": []
}
]
}
]
}]
}
だから私は二parentEvent
オブジェクトを取得できるようにしたいですparentEvent = null
は配列childrenEvents
でルート要素になりました。子配列内では、それ自身のを持つ最初の親イベントオブジェクトになりますこの配列の配列とその内部に既存のルートオブジェクトを入れたいchildrenEvents
配列
誰かが私にそれを解決するのを手伝っていただけると感謝します。前もって感謝します。
私の試み
function rebuild(input)
{
var childrenEvents = [] ;
for (f in input.parentEvent) // we may have attributes other than "age"
if (f.parentEvent == null) {
f.parentEvent.push(childrenEvents);
}
else {
f.parentEvent.push(input.parentEvent[f]);
}
if (input.childrenEvents.length !== 0)
{
input.parentEvent[f].push(input.childrenEvents)
}
return input;
}
console.log(rebuild($scope.myObj))
});
それ以外の場合は、ちょうどあなたが誰かがあなたのためにこれをコーディングすることを期待のように見え、SOコードの書き込みサービスではありません....あなたはそれが動作していない試みているものをご提示ください – charlietfl
@charlietflカップルミニにしましょう – antonyboom
@charlietfl更新情報を確認してください – antonyboom