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

Schleifenmethoden und verschiedene Durchlaufmethoden in js

Inhaltsverzeichnis for-Schleife While-Schleife do...

Detaillierte Erklärung zur Verwendung des MySQL-Datentyps DECIMAL

Der MySQL DECIMAL Datentyp wird zum Speichern exa...

Einige Hinweise zur Installation eines Fastdfs-Images im Docker

1. Bereiten Sie die Docker-Umgebung vor 2. Suchen...

So aktivieren Sie die Protokollfunktion für langsame Abfragen in MySQL

Das MySQL-Protokoll für langsame Abfragen ist seh...

So konfigurieren Sie inländische Quellen in CentOS8 yum/dnf

CentOS 8 hat das Installationsprogramm für Softwa...

Bringen Sie Ihnen bei, wie Sie den Beobachtermodus in Javascript implementieren

Inhaltsverzeichnis Was ist das Beobachtermuster? ...

Detaillierte Analyse des React Native-Startvorgangs

Einführung: Dieser Artikel verwendet das von reac...

So zeichnen Sie die Zeitleiste mit Vue+Canvas

In diesem Artikelbeispiel wird der spezifische Co...

Ubuntu 20.04 CUDA- und cuDNN-Installationsmethode (grafisches Tutorial)

CUDA-Installation, cuda herunterladen Geben Sie d...

Tutorial zum Herunterladen und Installieren von XFTP (grafisches Tutorial)

Wenn Sie Dateien zwischen Windows und Linux übert...