Ответ 1
Попробуйте использовать extend():
var newObject = jQuery.extend({}, oldObject);
У меня есть несколько прототипов Javascript. Первоначально экземпляры будут иметь только ID, заполненный, с некоторой общей информацией владельца места для других данных. Затем я отправляю сообщение на сервер с идентификатором и типом объекта (используя функцию jQuery AJAX), и сервер возвращает объект JSON со всей отсутствующей информацией (но без идентификатора). Переменные в возвращаемом объекте имеют то же имя, что и в существующем объекте.
Какой самый простой способ передать это в существующий пустой объект? Я придумал несколько альтернатив
Если я использую третий вариант, это правильный способ сделать это?
for (var key in json) {
if (object.hasOwnProperty(key)) {
object[key] = json[key];
}
}
Предполагая, что json
- возвращаемый объект, а object
- это существующий объект.
Попробуйте использовать extend():
var newObject = jQuery.extend({}, oldObject);
Вы можете использовать jQuery.extend: http://api.jquery.com/jQuery.extend/
$.extend(object1,object2);
Если ваш JSON - это строка, тогда сначала создайте объект:
var object1=$.parseJSON(myJsonString);