1. Was ist JSONDas Konzept von JSON ist sehr einfach. JSON ist ein leichtes Datenformat, das auf einer Teilmenge der JavaScript-Syntax basiert, nämlich der Array- und Objektdarstellung. Da JavaScript-Syntax verwendet wird, können JSON-Definitionen in JavaScript-Dateien eingefügt und ohne zusätzliche Analyse über XML-basierte Sprachen abgerufen werden. Bevor Sie jedoch JSON verwenden, ist es wichtig, die spezielle Syntax von Array- und Objektliteralen in JavaScript zu verstehen. 1.1 Array-LiteraleEin Array-Literal ist eine Reihe von durch Kommas getrennten JavaScript-Werten in eckigen Klammern, zum Beispiel: var aNames=["hallo", 12, true , null]; 1.2 ObjektliteraleObjektliterale werden durch die Einschließung von zwei geschweiften Klammern definiert. Innerhalb der geschweiften Klammern können beliebig viele Name-Wert-Paare platziert werden, die den Format-String-Wert definieren. Mit Ausnahme der letzten Zeile muss auf jedes Name-Wert-Paar ein Komma folgen (dies ähnelt der Definition eines assoziativen Arrays in Perl). Beispiel: var oCar = { "Farbe": "rot", "Türen" : 4, "bezahltFür": wahr }; 1.3 Gemischte LiteraleWir können Objekt- und Array-Literale mischen, um ein Array von Objekten oder ein Objekt zu erstellen, das ein Array enthält. Zum Beispiel: {Kommentare:[ { Ich würde: 1, Autor:"jemand1", URL: „http://someone1.x2design.net“, Inhalt: „Hallo“ }, { Ich würde: 2, Autor:"jemand2", URL: „http://someone2.x2design.net“, Inhalt: „Hallo“ }, { Ich würde: 3, Autor:"jemand3", URL: "http://someone3.x2design.net", Inhalt: „Hallo“ } ]}; 1.4 JSON-SyntaxIn Ajax-Anwendungen generiert der Server direkt JavaScript-Anweisungen und der Client verwendet direkt die Eval-Methode, um das Objekt abzurufen. Dadurch wird der Leistungsverlust beim Parsen von XML vermieden. Gleichzeitig besteht der Vorteil der Verwendung von JSON als Datenformat in der JavaScript-Kommunikation darin, dass der Wert der Daten sofort abgerufen werden kann und somit schneller auf die darin enthaltenen Daten zugegriffen werden kann. var oCarInfo = eval("(" + sJSON + ")"); Denken Sie daran: geschweifte Klammern sind in JavaScript auch eine Anweisung. Der Parser kann nur erkennen, dass die geschweiften Klammern ein Objekt und keine Anweisung darstellen, indem er die sie umschließenden Klammern sucht (die anzeigen, dass es sich bei dem Code um einen Ausdruck und nicht um eine Anweisung handelt). 1.5 JSON-Kodierung und -DekodierungAls Teil der JSON-Ressource hat Corockford ein Tool entwickelt, das die direkte Dekodierung und Kodierung von JSON- und Javascript-Objekten ermöglicht. Der Quellcode dieses Tools kann von https://github.com/douglascrockford/JSON-js heruntergeladen werden. Die Verwendung der oben erwähnten Funktion eval() weist einige inhärente Mängel auf: Sie ist dafür ausgelegt, jeden übergebenen JavaScript-Code auszuwerten, nicht nur JSON. Daher birgt es große Sicherheitsrisiken, wenn es um die Entwicklung von Webanwendungen auf Unternehmensebene geht. Um dieses Problem zu lösen, können Sie die Methode JSON.parse() verwenden, einen Parser, der nur JSON-Code in Javascript konvertiert. Zum Beispiel: var oObject = JSON.parse(sJSON); Es bietet außerdem ein Tool zum Konvertieren von Javascript-Objekten in JSON-Strings (für die Datenübertragung verwendet) (in Javascript gibt es hierfür keine integrierte Unterstützung). Sie müssen lediglich das Objekt an die Methode JSON.Stringify() übergeben. Schauen Sie sich das folgende Beispiel an: var oCar = neues Objekt(); oAutotüren = 4; oCar.color = "blau"; oAuto.jahr = 1995; oCar.drivers = neues Array("Penny", "Dan", "Kris"); Dokument.schreiben(JSON.stringify(oCar)); Dieser Code gibt eine JSON-Zeichenfolge wie die folgende aus: {"Türen" : 4, "Farbe" : "blau", "Jahr" :1995, "Fahrer" : ["Penny", "Dan" , "Kris"]} 2. JSON vs. XMLWie oben erwähnt, besteht einer der großen Vorteile von JSON gegenüber XML darin, dass es viel einfacher ist. Siehe das Beispiel zur XML-Datendarstellung: Verwenden der XML-Darstellung: <Kommentare> <Kommentar> <id>1</id> <Autor>jemand1</Autor> <url>http://jemand1.x2design.net</url> <content>hallo</content> </Kommentar> <Kommentar> <id>2</id> <Autor>jemand2</Autor> <url>http://someone2.x2design.net</url> <content>jemand1</content> </Kommentar> <Kommentar> <id>3</id> <Autor>jemand3</Autor> <url>http://someone3.x2design.net</url> <content>hallo</content> </Kommentar> </Kommentare> Verwenden der JSON-Darstellung: {Kommentare:[ { Ich würde: 1, Autor:"jemand1", URL: „http://someone1.x2design.net“, Inhalt: „Hallo“ }, { Ich würde: 2, Autor:"jemand2", URL: „http://someone2.x2design.net“, Inhalt: „Hallo“ }, { Ich würde: 3, Autor:"jemand3", URL: "http://someone3.x2design.net", Inhalt: „Hallo“ } ]}; Man stellt schnell fest, dass viele redundante Informationen fehlen. Da kein schließendes Tag erforderlich ist, das mit dem öffnenden Tag übereinstimmt, wird die Anzahl der Bytes, die zum Übertragen derselben Informationen erforderlich sind, erheblich reduziert. Gründer Corockford nennt es „XMLs Diätplan“). Der Nachteil von JSON-formatierten Daten im Vergleich zu XML besteht darin, dass sie für Laien schlechter lesbar sind. Natürlich gibt es die Ansicht, dass Datenaustauschformate nicht dafür gedacht sind, mit bloßem Auge erkannt zu werden. Wenn die Daten von Tools erstellt und hin und her analysiert werden, gibt es eigentlich keinen Grund, warum die Daten für Menschen lesbar sein müssen. Unterm Strich lässt sich sagen: Es stehen JSON-Tools zur Verfügung. 3. Serverseitige JSON-Toolsjava: Das von Douglas Crockford entwickelte Java-JSON-Tool kann unter https://github.com/stleary/JSON-java heruntergeladen und in JSP verwendet werden. 4. Vorteile und Nachteile von JSONJSON reduziert nicht nur die Leistungs- und Kompatibilitätsprobleme, die durch XML-Parsing entstehen, sondern ist auch sehr einfach für JavaScript zu verwenden. Es kann bequem Daten abrufen, indem es Arrays durchläuft und auf Objekteigenschaften zugreift. Es ist außerdem lesbar und hat grundsätzlich die Eigenschaften strukturierter Daten. Ich muss sagen, dass es eine sehr gute Methode ist und dass Google Maps zur Datenübertragung tatsächlich kein XML, sondern JSON verwendet. Ein weiterer Vorteil von JSON ist seine domänenübergreifende Umsetzbarkeit. So ist es beispielsweise durchaus möglich, es auf einer Webseite unter www.xxx.com zu verwenden, was bedeutet, dass Sie Informationen domänenübergreifend übertragen können. Allerdings können durch die Verwendung von XMLHttpRequest keine domänenübergreifenden Informationen abgerufen werden, da dies durch die interne Sicherheitsnatur von Javascript eingeschränkt ist. JSON sieht schön aus, kann es XML vollständig ersetzen? Dies ist nicht der Fall und der Grund liegt in der Stärke von XML: der Universalität. Es ist nicht einfach, den Server dazu zu bringen, grammatikalisch qualifizierten JavaScript-Code zu generieren. Dies geschieht hauptsächlich in größeren Systemen, in denen es auf der Server- und Clientseite unterschiedliche Entwickler gibt. Sie müssen das Format des Objekts aushandeln, was leicht zu Fehlern führen kann.
js zum Aktualisieren dieser Seite: Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Interaktive Erlebnistrends, die 2015-2016 zum Mainstream werden
>>: Lösung zum Vergessen des MySQL-Datenbankkennworts
In diesem Artikel wird der spezifische Code von V...
Inhaltsverzeichnis MySQL gefilterte Replikation I...
Docker-Installation Verwenden Sie das offizielle ...
Hintergrund: Ich habe bereits ein Projekt durchge...
React entstand als internes Projekt bei Facebook....
11. Verwenden Sie JavaScript, um Seiteneffekte zu...
Inhaltsverzeichnis 1. Handschriftliche Instanz vo...
Inhaltsverzeichnis Vorwort Browser kompilierte Ve...
Inhaltsverzeichnis Projekthintergrund Start Erste...
Wir diskutieren hier nicht über PHP-, JSP- oder ....
Schritte: 1. MySQL-Datenbank installieren 1. Lade...
Tag-Typ (Anzeigemodus) HTML-Tags werden im Allgem...
In diesem Kapitel beginnen wir mit dem Betrieb vo...
Vorwort Im vorherigen Artikel habe ich Ihnen anha...
Verwendung: Datum [Optionen]... [+Format] oder: D...