Heim > Web-Frontend > js-Tutorial > Hauptteil

Ausführliche Erläuterung der Beispiele für die gegenseitige Konvertierung zwischen JSON-Strings und JSON-Objekten

高洛峰
Freigeben: 2017-01-18 10:03:42
Original
1455 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt die Methode zum Konvertieren von JSON-Strings und JSON-Objekten ineinander. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Methode zum Konvertieren einer JSON-Zeichenfolge in ein JSON-Objekt. Während des Datenübertragungsprozesses wird JSON in Form von Text, also einer Zeichenfolge, übertragen, und JS arbeitet mit JSON-Objekten, sodass die Konvertierung zwischen JSON-Objekten und JSON-Zeichenfolgen der Schlüssel ist

Beispiel:

JSON-Zeichenfolge:

var str = '{ "name": "name1","sex": "m" }';
Nach dem Login kopieren

JSON-Objekt:

var obj = { "name": "name1", "sex": "w" };
Nach dem Login kopieren

1. Konvertieren Sie die JSON-Zeichenfolge in ein JSON-Objekt

Um den oben genannten str1 zu verwenden, müssen Sie ihn zunächst mit der folgenden Methode in ein JSON-Objekt konvertieren:

var obj = eval('(' + str + ')');
//由JSON字符串转换为JSON对象,必须把文本包围在括号中,这样才能避免语法错误: "(" + str+ ")
Nach dem Login kopieren

oder

var obj = $.parseJSON(str);
// 将JSON字符串转化为JSON对象 (jQuery)
Nach dem Login kopieren

oder

var obj= str.parseJSON();
//由JSON字符串转换为JSON对象
Nach dem Login kopieren

oder

var obj= JSON.parse(str);
//由JSON字符串转换为JSON对象
Nach dem Login kopieren

Dann können Sie es so lesen:

Alert(obj.name);
Alert(obj.sex);
Nach dem Login kopieren

Besonderer Hinweis: Wenn obj ursprünglich ein JSON-Objekt ist, bleibt es nach der Konvertierung mit der Funktion eval() immer noch ein JSON-Objekt (auch wenn es mehrmals konvertiert wird), aber Es wird mit der Funktion parseJSON() verarbeitet. Es ist ein Fehler aufgetreten (wird eine Syntaxausnahme auslösen).

2. Sie können toJSONString() oder die globale Methode JSON.stringify() verwenden, um das JSON-Objekt in einen JSON-String zu konvertieren.

Zum Beispiel:

var str=obj.toJSONString();
//将JSON对象转化为JSON字符
Nach dem Login kopieren

oder

var str=JSON.stringify(obj);
//将JSON对象转化为JSON字符
alert(str);
Nach dem Login kopieren

Zusammenfassung:

Wir auch Ich habe gesehen, dass es im Allgemeinen zwei Arten der Typkonvertierung gibt, die mit JavaScript geliefert werden, und die andere ist der JSON-Parser. Der Javascript-Parser kann jeden Javascript-Code kompilieren und ausführen, daher ist dies ein potenzielles Sicherheitsproblem . Der JSON-Parser kann nur JSON-Text erkennen und keine Skripte kompilieren, daher ist er sicherer und der JSON-Parser ist schneller.

Von den oben genannten Methoden stammen alle anderen Methoden mit Ausnahme der Funktion eval(), die mit js geliefert wird, aus dem Paket json.js. Die neue Version von JSON ändert die API und fügt sowohl die Methoden JSON.stringify() als auch JSON.parse() in die integrierten Objekte von Javascript ein. Ersteres wird zu Object.toJSONString() und letzteres wird zu String parseJSON(). . Wenn Sie die Meldung erhalten, dass die Methoden toJSONString() und parseJSON() nicht gefunden werden können, bedeutet dies, dass die Version Ihres JSON-Pakets zu niedrig ist.

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit der JavaScript-Programmierung befassen.

Ausführlichere Beispiele für die gegenseitige Konvertierung zwischen JSON-Strings und JSON-Objekten finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Verwandte Etiketten:
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!