Convertir une chaîne en tableau d'objets javascript

王林
Libérer: 2023-05-12 19:51:36
original
3202 Les gens l'ont consulté

En JavaScript, les chaînes et les objets sont de deux types différents, et les données qu'ils stockent sont également très différentes. Dans le développement Web, nous rencontrons souvent des situations où nous devons convertir des chaînes en tableaux d'objets, telles que des données JSON obtenues à partir du serveur. Cet article présentera plusieurs méthodes pour convertir des chaînes en tableaux d'objets.

Méthode 1 : Utiliser JSON.parse()

En JavaScript, vous pouvez utiliser la méthode JSON.parse() pour convertir une chaîne au format JSON en objet ou tableau. Le principe de la méthode JSON.parse() est d'analyser une chaîne JSON en un objet ou un tableau JavaScript.

Par exemple, nous avons la chaîne JSON suivante :

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Copier après la connexion
Copier après la connexion
Copier après la connexion

Utilisez la méthode JSON.parse() pour la convertir en un tableau d'objets :

var jsonObjectArray = JSON.parse(jsonString);
Copier après la connexion

Nous pouvons utiliser une instruction de boucle pour parcourir le tableau et afficher les propriétés de chaque objet :

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Méthode 2 : Utiliser eval()

eval() est une fonction en JavaScript qui peut exécuter les paramètres de chaîne entrants sous forme de code JavaScript. Par conséquent, nous pouvons utiliser la fonction eval() pour convertir une chaîne au format JSON en un objet ou un tableau.

Par exemple, nous avons la chaîne JSON suivante :

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Copier après la connexion
Copier après la connexion
Copier après la connexion

Utilisez la fonction eval() pour la convertir en un tableau d'objets :

var jsonObjectArray = eval("("+jsonString+")");
Copier après la connexion

De même, nous pouvons utiliser une instruction de boucle pour parcourir le tableau et afficher les propriétés. de chaque objet :

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Il convient de noter que la fonction eval() peut présenter des risques de sécurité et n'est pas recommandée pour une utilisation dans des environnements de production. Au lieu de cela, la méthode JSON.parse() doit être utilisée.

Méthode 3 : Utiliser le fractionnement et le remplacement de chaînes

Une méthode plus ancienne consiste à utiliser le fractionnement et le remplacement de chaînes pour convertir la chaîne en un tableau d'objets.

Par exemple, nous avons la chaîne JSON suivante :

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Copier après la connexion
Copier après la connexion
Copier après la connexion

Tout d'abord, nous devons remplacer les virgules utilisées pour séparer les objets dans la chaîne par des points-virgules et les accolades par des crochets pour obtenir une déclaration de tableau JavaScript légale :

jsonString = jsonString.replace(/}/g, '},');
jsonString = jsonString.replace(/,$/, '');
jsonString = jsonString.replace(/{/g, '[');
jsonString = jsonString.replace(/}/g, '}]');
Copier après la connexion

Ensuite , utilisez la fonction eval() pour le convertir en un tableau d'objets :

var jsonObjectArray = eval(jsonString);
Copier après la connexion

De même, nous pouvons utiliser une instruction de boucle pour parcourir le tableau et afficher les propriétés de chaque objet :

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Il convient de noter que cette méthode uniquement fonctionne Dans le cas où le format JSON est relativement simple, cette méthode sera inefficace pour les formats JSON profondément imbriqués.

Résumé

Ci-dessus sont plusieurs méthodes de conversion de chaînes en tableaux d'objets. Dans le développement réel, il est recommandé d'utiliser la méthode JSON.parse() pour convertir les chaînes au format JSON en objets ou en tableaux. Elle est très efficace et sûre, et est plus conforme aux spécifications du langage lui-même. Si vous devez prendre en charge les anciennes versions du navigateur, envisagez d'utiliser la fonction eval() ou le fractionnement et le remplacement de chaînes.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal