我有几个Javascript原型。最初,实例只会填写ID,其中包含一些其他数据的通用占位符信息。然后,我使用ID和对象类型向服务器发送消息(使用jQuery的AJAX函数),服务器返回一个包含所有缺失信息(但没有ID)的JSON对象。返回对象中的变量与现有对象中的变量具有完全相同的名称。
将此传输到现有空对象的最简单方法是什么?我想出了一些替代方案
如果我使用第三个选项,这是正确的方法吗? :
for (var key in json) {
if (object.hasOwnProperty(key)) {
object[key] = json[key];
}
}
假设json
是返回的对象,object
是现有对象。
答案 0 :(得分:9)
使用extend():
尝试此操作var newObject = jQuery.extend({}, oldObject);
答案 1 :(得分:6)
没有jQuery的替代方法是使用javascript Object.assign方法。
Object.assign(targetObject, json);
答案 2 :(得分:1)
您可以使用jQuery.extend:http://api.jquery.com/jQuery.extend/
$.extend(object1,object2);
如果你的JSON是一个字符串,那么首先创建一个对象:
var object1=$.parseJSON(myJsonString);