Подтвердить что ты не робот

Копирование объекта AJAX JSON в существующий объект

У меня есть несколько прототипов Javascript. Первоначально экземпляры будут иметь только ID, заполненный, с некоторой общей информацией владельца места для других данных. Затем я отправляю сообщение на сервер с идентификатором и типом объекта (используя функцию jQuery AJAX), и сервер возвращает объект JSON со всей отсутствующей информацией (но без идентификатора). Переменные в возвращаемом объекте имеют то же имя, что и в существующем объекте.

Какой самый простой способ передать это в существующий пустой объект? Я придумал несколько альтернатив

  • установить объект равным возвращенному объекту, а затем скопировать в id (теряет функции прототипа?)
  • создать функцию для каждого объекта, который принимает объект с идентичной структурой и копирует данные
  • проведите через пары ключ-значение объекта JSON и скопируйте их в существующий объект

Если я использую третий вариант, это правильный способ сделать это?

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

Предполагая, что json - возвращаемый объект, а object - это существующий объект.

4b9b3361

Ответ 1

Попробуйте использовать extend():

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

Ответ 2

Вы можете использовать jQuery.extend: http://api.jquery.com/jQuery.extend/

$.extend(object1,object2);

Если ваш JSON - это строка, тогда сначала создайте объект:

var object1=$.parseJSON(myJsonString);