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"}]';
Utilisez la méthode JSON.parse() pour la convertir en un tableau d'objets :
var jsonObjectArray = JSON.parse(jsonString);
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); }
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"}]';
Utilisez la fonction eval() pour la convertir en un tableau d'objets :
var jsonObjectArray = eval("("+jsonString+")");
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); }
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"}]';
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, '}]');
Ensuite , utilisez la fonction eval() pour le convertir en un tableau d'objets :
var jsonObjectArray = eval(jsonString);
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); }
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!