将AJAX JSON对象复制到现有的object中

Copying AJAX JSON object into existing Object

本文关键字:object AJAX JSON 对象 复制      更新时间:2023-09-26

我有几个Javascript原型。最初,实例将只填充ID,并为其他数据填充一些通用占位符信息。然后,我向服务器发送一条带有ID和对象类型的消息(使用jQuery的AJAX函数),服务器返回一个包含所有缺失信息(但没有ID)的JSON对象。返回对象中的变量与现有对象中的变量具有完全相同的名称。

将它转移到现有的空对象中最简单的方法是什么?我已经想到了一些替代方案

  • 设置对象等于返回的对象,然后在id中复制(丢失原型函数?)
  • 为每个对象创建一个函数,该函数接受具有相同结构的对象并复制数据
  • 遍历JSON对象的键值对,并将它们复制到现有对象

如果我使用第三个选项,这是正确的方法吗?:

for (var key in json) {
    if (object.hasOwnProperty(key)) {
        object[key] = json[key];
    }
}

假设json是返回的对象,object是已存在的对象。

不使用jQuery的替代方法是使用javascript对象。分配方法。

Object.assign(targetObject, json);

试试使用扩展():

var newObject = jQuery.extend({}, oldObject);

可以使用jQuery。扩展:http://api.jquery.com/jQuery.extend/

$.extend(object1,object2);

如果你的JSON是一个字符串,那么首先创建一个对象:

var object1=$.parseJSON(myJsonString);