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"}]';
Verwenden Sie die Methode JSON.parse(), um sie in ein Array von Objekten umzuwandeln:
var jsonObjectArray = JSON.parse(jsonString);
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); }
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"}]';
Verwenden Sie die Funktion eval(), um sie in ein Array von Objekten umzuwandeln:
var jsonObjectArray = eval("("+jsonString+")");
Ä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); }
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"}]';
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, '}]');
Dann , verwenden Sie die Funktion eval(), um es in ein Array von Objekten umzuwandeln:
var jsonObjectArray = eval(jsonString);
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); }
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!