假设有两个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”值不为空,我们必须检查其中的参数对象。 如果参数对象为空,我们必须在那里插入**第一个对象。**
因此,对于上面的 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);
第二个及以后的关卡会很棘手。格式总是这样吗?在您的示例中,值可以是(字符串、空、对象数组)...是否还有其他未提及或您不知道的格式?
关于javascript - 在javascript中将对象添加到复杂的json中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53405765/