Maison > Article > interface Web > Comment convertir des objets JSON simples en instances de classe en JavaScript ?
Casting d'objets simples en instances de classe en JavaScript
En JavaScript, lors de la réception d'objets simples d'un serveur sous forme de réponses JSON, vous pouvez rencontrer le besoin de les convertir en instances de classe typées. Cela vous permet d'accéder à des méthodes et propriétés spécifiques à la classe.
Solution :
Une approche consiste à créer un constructeur qui accepte tout objet ressemblant à une instance et le clone. Vous pouvez également implémenter une méthode statique qui convertit les objets en instances :
<code class="javascript">Person.fromJSON = function(obj) { // Custom code to create an instance from the object return ...; };</code>
Pour votre scénario spécifique, dans lequel vous avez des objets simples avec des propriétés publiques, vous pouvez utiliser la méthode suivante :
<code class="javascript">var personInstance = new Person(); for (var prop in personLiteral) { personInstance[prop] = personLiteral[prop]; }</code>
Cela attribue toutes les propriétés de l'objet brut à l'instance nouvellement créée. De même, vous pouvez créer des instances Animal.
Remarque :
Exemple de code :
<code class="javascript">var persons = JSON.parse(serverResponse); for (var i = 0; i < persons.length; i++) { persons[i] = Object.assign(new Person(), persons[i]); // Use Object.assign for browsers that support it for (var j = 0; j < persons[i].animals; j++) { persons[i].animals[j] = Object.assign(new Animal(), persons[i].animals[j]); } }</code>
Ce code vous permettra d'utiliser des méthodes spécifiques à une classe telles que people[0].Animals[2].Run();.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!