Copier un object AJAX JSON dans un object existant

J’ai plusieurs prototypes Javascript. Initialement, seuls les identifiants sont renseignés dans les instances, ainsi que des informations génériques sur les espaces réservés pour d’autres données. J’envoie ensuite un message au serveur avec l’ID et le type d’object (à l’aide de la fonction AJAX de jQuery) et le serveur renvoie un object JSON avec toutes les informations manquantes (mais sans ID). Les variables de l’object renvoyé ont exactement le même nom que celles de l’object existant.

Quel est le moyen le plus simple de transférer cela dans l’object vide existant? J’ai trouvé quelques alternatives

  • définir l’object égal à l’object retourné, puis copier dans l’id (perd les fonctions de prototype?)
  • créer une fonction pour chaque object qui prend un object de structure identique et copie les données
  • parcourir les paires clé-valeur de l’object JSON et les copier dans un object existant

Si j’utilise la troisième option, est-ce la bonne façon de le faire? :

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

en supposant que json est l’object renvoyé et que l’ object est l’object existant.

Essayez ceci en utilisant extend () :

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

Vous pouvez utiliser jQuery.extend: http://api.jquery.com/jQuery.extend/

 $.extend(object1,object2); 

Si votre JSON est une chaîne, créez d’abord un object à partir de celui-ci:

 var object1=$.parseJSON(myJsonSsortingng);