JSON: JavaScript-Objektnotation
JSON-Syntaxregeln
Daten in Name/Wert-Paaren
Die Daten werden durch Kommas
getrennt
Geschweifte Klammern speichern Objekte
Eckige Klammern speichern Arrays
JSON hat 6 Arten von Werten:
Objekt, Array, String, Zahl, Boolescher Wert, null
Ein JSON-Objekt ist eine ungeordnete Sammlung von Name/Wert-Paaren
Name: beliebige Zeichenfolge
Wert: JSON-Wert eines beliebigen Typs, einschließlich Arrays und Objekte (Objekte können in Objekte eingebettet werden)
Hinweis: JSON-Zeichenfolgen müssen doppelte Anführungszeichen verwenden (einfache Anführungszeichen melden einen Fehler)
1. Objekt
Literale in Javascript erstellen:
var object = { name:"lily", age:22 };
oder:
var object = { "name":"lily", "age":22 };
JSON:
{ "name":"lily", "age":22 }
2. Array
JSON-Array verwendet die Array-Literalform in Javascript
Erweiterung:
Durch die Kombination von Arrays und Objekten können komplexere Datenkombinationen entstehen
Zum Beispiel:
[ { "name":"lily", "age":22, "job":"docter" }, { "name":"nicy", "age":21, "job":"teacher" }, { "name":"lily", "age":22, "job":"AE" } ]
3. Parsen und Serialisierung
JSON hat eine ähnliche Syntax wie JavaScript und kann JSON-Datenstrukturen in nützliche JavaScript-Objekte analysieren
1.JSON-Objekt
JSON-Daten senden und empfangen
Beim Lesen, Schreiben, Senden und Empfangen von JSON-Datenobjekten müssen diese in Zeichenfolgen konvertiert werden und können von Zeichenfolgen in JSON-Datenobjekte konvertiert werden. (Lesen und schreiben Sie sie auf die gleiche Weise wie für Javascript)
JSON-Objekt verfügt über zwei Methoden:
① stringify(): Javascript-Objekte in JSON-Strings serialisieren
② parse(): Analysieren Sie die JSON-Zeichenfolge in den nativen Javascript-Wert
Beispiel:
var book = { title:"professional JavaScript", authors:[ "lily" ], edition:3, year:2011 }; var jsonText = JSON.stringify(book); alert(jsonText); //{"title":"professional JavaScript","authors":["lily"],"edition":3,"year":2011} alert(typeof jsonText); //string var bookCopy = JSON.parse(jsonText); alert(typeof bookCopy); //object
In diesem Beispiel wird JSON.stringify() verwendet, um ein Javascript-Objektbuch in einen JSON-String zu serialisieren und ihn dann in jsonText zu speichern. Übergeben Sie den JSON-String jsonText direkt an JSON.parse(), um den entsprechenden Javascript-Wert zu erhalten
Hinweis: Bei der Serialisierung von JavaScript-Objekten sind die endgültigen Werte Instanzeigenschaften gültiger JSON-Datentypen und alle ungültigen Werte werden übersprungen
2. Serialisierungsoptionen
JSON.stringify() kann beim Serialisieren von JavaScript-Objekten zwei Parameter empfangen
Parameter 1: Filter, der ein Array oder eine Funktion
sein kann
Parameter zwei: eine Option, die angibt, ob die Einrückung in der JSON-Zeichenfolge
beibehalten werden soll
1) Ergebnisse filtern
Wenn der Filterparameter ein Array ist, enthält das Ergebnis von JSON.stringify() nur die im Array
aufgeführten Attribute
Zum Beispiel:
var book = { "title":"professional JavaScript", "authors":[ "lily" ], edition:3, year:2011 }; var jsonText = JSON.stringify(book,["title","edition"]); alert(jsonText); //{"title":"professional JavaScript","edition":3} alert(typeof jsonText); // string
2) String-Einrückung:
Der dritte Parameter der JSON.stringify()-Methode wird verwendet, um die Einrückung und Leerzeichen im Ergebnis
zu steuern
3) toJSON()-Methode
Definieren Sie die toJSON()-Methode für das Objekt, um sein eigenes JSON-Datenformat
4. JSON-Zugriffswert
Der erste Typ: einfaches Array
['item1','item2','item3']
Wert: Greifen Sie über einen numerischen Index auf den eingebetteten Wert zu (der Index des ersten Elements ist 0)
['item1','item2','item3']
var items = ['item1','item2','item3'];
Alert(items[0]); // item1
Zweiter Typ: Verwenden Sie {}, um Objekte und Arrays darzustellen
{ „key“: „value“ }
Wert: Greifen Sie über den Schlüsselnamen
var oExample = { "name": "Lilie" };
Alert(oExample.name); // Lilie
Alert(oExample["name"]); // Lilie
Mit diesen beiden Methoden können viele Datenstrukturen in Form von Unterdatensätzen (mit benannten oder numerischen Indexschlüsseln) beschrieben werden:
Zum Beispiel:
var oNovelist = { "firstName":"lily", "lastName":"russ", "novels": [ { "title":"and choas died", "year":"1970" }, { "title":"the famale man", "year":"1976" } ] }; var msg = oNovelist.firstName+" "+oNovelist.lastName+"'s"+" "+oNovelist.novels[0].title+" "+"was published in"+oNovelist.novels[0].year; alert(msg); // lily russ's and choas died was published in1970
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.