Konvertieren Sie einen String in ein Objektarray-Javascript

王林
Freigeben: 2023-05-12 19:51:36
Original
3202 Leute haben es durchsucht

In JavaScript sind Strings und Objekte zwei verschiedene Typen, und auch die darin gespeicherten Daten sind sehr unterschiedlich. Bei der Webentwicklung stoßen wir häufig auf Situationen, in denen wir Zeichenfolgen in Objektarrays konvertieren müssen, beispielsweise vom Server erhaltene JSON-Daten. In diesem Artikel werden verschiedene Methoden zum Konvertieren von Zeichenfolgen in Objektarrays vorgestellt.

Methode 1: Verwenden Sie JSON.parse()

In JavaScript können Sie die Methode JSON.parse() verwenden, um einen String im JSON-Format in ein Objekt oder Array zu konvertieren. Das Prinzip der JSON.parse()-Methode besteht darin, einen JSON-String in ein JavaScript-Objekt oder -Array zu analysieren.

Zum Beispiel haben wir die folgende JSON-Zeichenfolge:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie die Methode JSON.parse(), um sie in ein Array von Objekten umzuwandeln:

var jsonObjectArray = JSON.parse(jsonString);
Nach dem Login kopieren

Wir können eine Schleifenanweisung verwenden, um das Array zu durchlaufen und die Eigenschaften auszugeben jedes Objekts:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Methode 2: eval() verwenden

eval() ist eine Funktion in JavaScript, die die eingehenden String-Parameter als JavaScript-Code ausführen kann. Daher können wir die Funktion eval() verwenden, um einen JSON-formatierten String in ein Objekt oder Array zu konvertieren.

Zum Beispiel haben wir die folgende JSON-Zeichenfolge:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie die Funktion eval(), um sie in ein Array von Objekten umzuwandeln:

var jsonObjectArray = eval("("+jsonString+")");
Nach dem Login kopieren

Ähnlich können wir eine Schleifenanweisung verwenden, um das Array zu durchlaufen und die Eigenschaften auszugeben jedes Objekts:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Es ​​ist zu beachten, dass die Funktion eval() Sicherheitsrisiken bergen kann und nicht für die Verwendung in Produktionsumgebungen empfohlen wird. Stattdessen sollte die Methode JSON.parse() verwendet werden.

Methode 3: String-Aufteilung und -Ersetzung verwenden

Eine ältere Methode besteht darin, String-Aufteilung und -Ersetzung zu verwenden, um die Zeichenfolge in ein Objektarray umzuwandeln.

Zum Beispiel haben wir die folgende JSON-Zeichenfolge:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Zuerst müssen wir die Kommas, die zum Trennen von Objekten in der Zeichenfolge verwendet werden, durch Semikolons und die geschweiften Klammern durch eckige Klammern ersetzen, um eine zulässige JavaScript-Array-Deklaration zu erhalten:

jsonString = jsonString.replace(/}/g, '},');
jsonString = jsonString.replace(/,$/, '');
jsonString = jsonString.replace(/{/g, '[');
jsonString = jsonString.replace(/}/g, '}]');
Nach dem Login kopieren

Dann , verwenden Sie die Funktion eval(), um es in ein Array von Objekten umzuwandeln:

var jsonObjectArray = eval(jsonString);
Nach dem Login kopieren

Ebenso können wir eine Schleifenanweisung verwenden, um das Array zu durchlaufen und die Eigenschaften jedes Objekts auszugeben:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Es ist zu beachten, dass nur diese Methode verwendet wird Funktioniert: Wenn das JSON-Format relativ einfach ist, ist diese Methode für tief verschachtelte JSON-Formate wirkungslos.

Zusammenfassung

Die oben genannten Methoden sind mehrere Methoden zum Konvertieren von Zeichenfolgen in Objektarrays. In der tatsächlichen Entwicklung wird empfohlen, die JSON.parse()-Methode zum Konvertieren von JSON-formatierten Zeichenfolgen in Objekte oder Arrays zu verwenden. Sie ist äußerst effizient und sicher und entspricht eher den Spezifikationen der Sprache selbst. Wenn Sie ältere Browserversionen unterstützen müssen, sollten Sie die Verwendung der Funktion eval() oder das Aufteilen und Ersetzen von Zeichenfolgen in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonKonvertieren Sie einen String in ein Objektarray-Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage