Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Konvertierung zwischen JSON-Strings und „objects_json'.

Detaillierte Erläuterung der Konvertierung zwischen JSON-Strings und „objects_json'.

WBOY
WBOYOriginal
2016-05-16 15:57:551170Durchsuche

JSON (JavaScript Object Notation) ist eine Teilmenge der Programmiersprache JavaScript. Da JSON eine Teilmenge von JavaScript ist, kann es in dieser Sprache eindeutig verwendet werden.

Bewertungsfunktion JSON-Text in Objekt konvertieren

Um JSON-Text in ein Objekt umzuwandeln, können Sie die Funktion eval verwenden. Die Funktion eval ruft den JavaScript-Editor auf. Da JSON eine Teilmenge von JavaScript ist, analysiert der Compiler den Text korrekt und erzeugt Objektstrukturen. Der Text muss in Klammern eingeschlossen werden, um Mehrdeutigkeiten in der JavaScript-Syntax zu vermeiden.
var obj = eval('(' JSONTest ')'); Die Eval-Funktion ist sehr schnell. Es kann jedes JavaScript-Programm kompilieren und ausführen, was zu Sicherheitsproblemen führt. Die Eval-Funktion sollte nur verwendet werden, wenn vertrauenswürdiger und vollständiger Quellcode verwendet wird. Dies ermöglicht eine sicherere Analyse von JSON-Text. Bei Webanwendungen, die XmlHttp verwenden, lässt die Kommunikation zwischen Seiten nur denselben Ursprung zu, sodass dieser vertrauenswürdig ist. Aber es ist nicht perfekt. Wenn der Server nicht über eine strikte JSON-Kodierung oder keine strikte Eingabevalidierung verfügt, überträgt er möglicherweise ungültigen JSON-Text, einschließlich gefährlicher Skripte. Die Eval-Funktion führt das schädliche Skript aus.

JSON-Interpreter JSON.parse, JSON.stringify

Die Verwendung eines JSON-Parsers kann Sicherheitsrisiken wie der Eval-Funktion, die JSON-Text in Objekte konvertiert, vorbeugen. Der JSON-Parser kann nur JSON-Text erkennen und alle Skripte ablehnen. Bei Browsern, die native JSON-Unterstützung bieten, sind die JSON-Parser viel schneller als die Eval-Funktion.

Derzeit bieten Firefox, Opera und IE8 und höher auch lokale JSON-Unterstützung. Zu den vom JSON-Interpreter bereitgestellten Funktionen gehören unter anderem: JSON.parse, JSON.stringify.

Für Browser, die keine native JSON-Unterstützung bieten, können Sie das Skript json2.js einführen, um die JSON-Konvertierungsfunktion zu implementieren. Das json2.js-Skript kann von der Seite https://github.com/douglascrockford/JSON-js/blob/master/json2.js heruntergeladen werden.

JSON.parse-Funktion

JSON-Text in Objekt konvertieren.
JSON.parse(text[, reviver])
Parameter
Text
Erforderlich. JSON-Text, der in ein Objekt konvertiert werden soll.
Erwecker
Optional. Dieser Parameter ist eine Ersatzfunktion. Bei der Transformation wird diese Funktion für jeden durchlaufenen Knoten ausgeführt und der Rückgabewert der Funktion ersetzt den entsprechenden Knotenwert des Transformationsergebnisses.

JSON.stringify-Funktion

Objekt in JSON-Text konvertieren.
JSON.stringify(value[, replacementer[, space]])
Parameter
Text
Erforderlich. Das Objekt, das in JSON-Text konvertiert werden soll.
Erwecker
Optional. Dieser Parameter ist eine Ersatzfunktion. Bei der Transformation wird diese Funktion für jeden durchlaufenen Knoten ausgeführt und der Rückgabewert der Funktion ersetzt den entsprechenden Knotenwert des Transformationsergebnisses.
Leerzeichen
Optional. Die Anzahl der Leerzeichen zum Einrücken des formatierten JSON-Ausgabetexts. Wenn dieser Parameter nicht angegeben wird, wird die Ausgabe nicht formatiert.
Delegate-Typ des Parameter-Revivers
reviver(Schlüssel, Wert)
Dies ist in der Reviver-Funktion der übergeordnete Knoten des aktuell durchlaufenen Knotens. Wenn der Wurzelknoten durchlaufen wird, ist der übergeordnete Knoten ein Objektobjekt, der Wurzelknoten ist ein Attribut des Objekts und der Attributname ist eine leere Zeichenfolge.
Parameter
Schlüssel
Wenn der übergeordnete Knoten ein Array-Objekt ist, ist der Schlüssel der Array-Index, andernfalls ist der Schlüssel der Objekt-Eigenschaftsname.
Wert
Knotenwert.
Hinweis: JSON unterstützt keine zirkulären Datenstrukturen.

jQuery.parseJSON( jsonTex )

jQuery verfügt außerdem über eine Methode zum Konvertieren von Zeichenfolgen in das JSON-Format, jQuery.parseJSON(json), die eine JSON-Zeichenfolge im Standardformat akzeptiert und ein analysiertes JavaScript-Objekt (JSON) zurückgibt. Wenn Sie interessiert sind, können Sie natürlich selbst eine jQuery-Erweiterung kapseln. jQuery.stringifyJSON(obj) konvertiert JSON in einen String.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er Ihnen allen gefällt.

Stellungnahme:
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