[英]add object to a complex json in javascript
假設有兩個json對象為
1。
{
"conditionTemp": null,
"value": null,
"variableValue": "flowParameters_3"
}
要么
{
"conditionTemp": {
"functionID": "func_1",
"parameters": [{}]
},
"value": null,
"variableValue": null
}
和
2。
{
"conditionTemp": {
"functionID": "func_1",
"parameters": [{
"conditionTemp": null,
"value": null,
"variableValue": "flowParameters_3"
},
{
"conditionTemp": {
"functionID": "func_1",
"parameters": [{}]
},
"value": null,
"variableValue": "null"
},
{}
]
},
"value": null,
"variableValue": null
}
即第二個對象將具有(“ conditionTemp”,“ value”,“ variable”),
第一個“ conditionTemp”將具有“ functionID”,“ parameters”
在“參數”中,我們可以沒有任何編號。 對象。 如果在參數內部,則對象的“ conditionTemp”值不為null ,我們必須檢查其中的參數對象。 如果參數對象為空,則必須在其中插入“第一個對象” 。
因此,對於上述json,在將第一個對象添加到第二個對象后,生成的json將是
{
"conditionTemp": {
"functionID": "func_1",
"parameters": [{
"conditionTemp": null,
"value": null,
"variableValue": "flowParameters_3"
},
{
"conditionTemp": {
"functionID": "func_1",
"parameters": [{
"conditionTemp": null,
"value": null,
"variableValue": "flowParameters_3"
}]
},
"value": null,
"variableValue": "null"
},
{}
]
},
"value": null,
"variableValue": null
}
第一層是這樣的:
var obj_a = { "conditionTemp": { "functionID": "func_1", "parameters": [{ "conditionTemp": null, "value": null, "variableValue": "flowParameters_3" }, { "conditionTemp": { "functionID": "func_1", "parameters": [{}] }, "value": null, "variableValue": "null" }, {} ] }, "value": null, "variableValue": null }; var obj_b = { "conditionTemp": null, "value": null, "variableValue": "flowParameters_3" }; var final_obj = Object.keys(obj_a).reduce(function(data, key) { if (obj_a[key] == null && obj_b[key] != null) data[key] = obj_b[key]; else data[key] = obj_a[key]; return data; }, {}); console.log(final_obj);
第二和更高的級別將是棘手的。 格式總是這樣嗎? 在您的示例中,值可以是(字符串,空值,對象數組)...是否有其他未提及的格式,或者您不知道?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.