Vorteile und Nachteile von JSON sowie Einführung in die Verwendung

Vorteile und Nachteile von JSON sowie Einführung in die Verwendung

1. Was ist JSON

Das 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-Literale

Ein Array-Literal ist eine Reihe von durch Kommas getrennten JavaScript-Werten in eckigen Klammern, zum Beispiel:

var aNames=["hallo", 12, true , null];

1.2 Objektliterale

Objektliterale 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 Literale

Wir 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-Syntax

In 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 -Dekodierung

Als 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. XML

Wie 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-Tools

java: 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 JSON

JSON 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.

JSON.parse(jsonstr); //Sie können einen JSON-String in ein JSON-Objekt umwandeln

JSON.stringify(jsonobj); //Sie können JSON-Objekte in JSON-Strings konvertieren

js zum Aktualisieren dieser Seite: window.location.reload();

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:
  • Detaillierte Erklärung des JSON-Dateischreibformats
  • Detaillierte Erklärung des Json-Formats
  • JSON (JavaScript Object Notation) in einem Artikel verstehen
  • JSON – Einführung und Verwendungszusammenfassung
  • Detaillierte Einführung in JSON-Objekte in JS
  • Beispiel für die jQuery-JSON-Analyse
  • JSON-Prinzipanalyse und Beispieleinführung
  • Einführung in das JSON-Datenformat
  • Kurze JSON-Einführung
  • Eine kurze Einführung in JSON

<<:  Interaktive Erlebnistrends, die 2015-2016 zum Mainstream werden

>>:  Lösung zum Vergessen des MySQL-Datenbankkennworts

Artikel empfehlen

Vue realisiert die Bildschirmanpassung von Großbildschirmseiten

In diesem Artikel wird der spezifische Code von V...

Detaillierte Erläuterung der MySQL-Filterreplikationsideen

Inhaltsverzeichnis MySQL gefilterte Replikation I...

Codeanalyse synchroner und asynchroner SetState-Probleme in React

React entstand als internes Projekt bei Facebook....

Verwenden Sie JavaScript, um Seiteneffekte zu erstellen

11. Verwenden Sie JavaScript, um Seiteneffekte zu...

Detaillierte Erklärung des Vue3-Sandbox-Mechanismus

Inhaltsverzeichnis Vorwort Browser kompilierte Ve...

So verwenden Sie Vue zum Entwickeln öffentlicher Account-Webseiten

Inhaltsverzeichnis Projekthintergrund Start Erste...

Detaillierte Erläuterung der dauerhaften Speicherung von Redis unter Docker

In diesem Kapitel beginnen wir mit dem Betrieb vo...

MySQL kann tatsächlich verteilte Sperren implementieren

Vorwort Im vorherigen Artikel habe ich Ihnen anha...

Zusammenfassung der Wissenspunkte zum Linux-Datumsbefehl

Verwendung: Datum [Optionen]... [+Format] oder: D...