替换类似json中的值
Replacing values in similar jsons
考虑这样的情况:我有两个复杂的json——一个有完整的属性列表,另一个理论上是相同的,但可能缺少一些值。我需要使用分部覆盖第一个值中的值。
我怎样才能做到这一点?我试过这样的东西:
function ObjectValues(data) {
var isArray = data instanceof Array;
for (var key in data) {
if (data.hasOwnProperty(key)) {
if (typeof (data[key]) == "object") {
if (!isArray) {
profileData[key] = data[key];
}
ObjectValues(data[key]);
} else if (!isArray) {
}
}
}
}
ObjectValues(data);
其思想是循环遍历部分json(数据)并覆盖profileData中的相应值。这个函数可以在结构中循环(只要对象中有对象,它就会在这个级别上启动),但我不知道如何使它覆盖每个级别上的值,因为profileData[key]=data[key]还不够
编辑:一个简单的例子是:
Data = {
"activity": {
"online": [1,1,3,4,0,1,0,3,2],
}
},
"location": "Antarctica",
}
profileData = {
"activity": {
"online": [],
}
},
"location": "N/A",
}
现在,我要
profileData = {
"activity": {
"online": [],
}
},
"online": [1,1,3,4,0,1,0,3,2],
"location": "Antarctica",
}
它在第一级运行良好,但很明显,它只是将更深层次的键附加到根(正如您所期望的)。问题是检索子迭代中的密钥路径。
如果您可以使用JQuery,那么您可以直接调用extend,而不是尝试编写自己的方法
$.extend(true, profileData, data);
这将用data
中的值覆盖partialData
中的值,并从data
中添加任何额外的键。
相关文章:
- Javascript JSON对象替换对象中的字符串
- 使用捕获组查找和替换json字符串中出现的所有短语
- 替换 JSON 中的字符串
- 如何使用替换器 param json.stringify 访问嵌套对象
- 替换json文件中文本中的值
- 用来自JSON对象的占位符值替换字符串
- 我想使用replace函数扫描json对象,然后用字符串替换匹配的单词
- 如何在谷歌可视化api柱状图中使用的json对象内用数字替换字符串值
- 替换JSON对象中的值
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 在使用Protractor进行测试时,我可以用json文件替换结果,而不是调用实际的REST端点
- 用Javascript替换从JSON中获取的数组数据特殊字符
- 使用JSON.stringify()包括所有对象属性's替换器阵列
- 替换JSON中的键:值对
- 无法读取属性'替换'json中未定义的
- 如何使用 Angular.js/javascript 将 JSON 数组值替换为新值
- 如何将 JSON 字符串中的文本替换为 Greasemonkey 的用户脚本
- 使用 javascript 更新后替换 JSON 对象
- Jquery,JSON:替换JSON数组的部分
- AngularJS/Javascript-如何用JSON替换整个对象