Heim  >  Artikel  >  Web-Frontend  >  Einfaches Verständnis von JSON

Einfaches Verständnis von JSON

怪我咯
怪我咯Original
2017-04-01 09:47:061578Durchsuche

Json ist ein jsObjekt.
-----
Einfach ausgedrückt kann JSON einen in einem JavaScript-Objekt dargestellten Datensatz in einen String umwandeln, der dann in Übergeben Sie diese Zeichenfolge einfach zwischen Funktionen oder übergeben Sie eine Zeichenfolge von einem Webclient an ein serverseitiges Programm in einer asynchronen Anwendung. Diese Zeichenfolge sieht etwas seltsam aus (ein paar Beispiele sehen Sie später), aber JavaScript interpretiert sie leicht und JSON kann komplexere Strukturen darstellen als Name/Wert-Paare. Beispielsweise ist es möglich, Arrays und komplexe Objekte darzustellen, anstatt nur einfache Listen von Schlüsseln und Werten. Einfaches JSON-Beispiel
In seiner einfachsten Form kann das folgende JSON zur Darstellung von Name/Wert-Paaren verwendet werden:

{ "firstName": "Brett" }

Dieses Beispiel Sehr einfach und nimmt tatsächlich mehr Platz ein als das entsprechende Klartext-Name/Wert-Paar:
firstName=Brett

Wenn jedoch mehrere Name/Wert-Paare aneinandergereiht werden, spiegelt der JSON seinen Wert wider. Zunächst können Sie einen Datensatz erstellen, der mehrere Name/Wert-Paare enthält, wie zum Beispiel:

{ "firstName": "Brett", "lastName": "McLaughlin", "email": "brett@newInstance.com". " }

In Bezug auf die Syntax ist dies kein großer Vorteil gegenüber Name/Wert-Paaren, aber in diesem Fall ist JSON einfacher zu verwenden und besser lesbar. Es macht beispielsweise deutlich, dass die oben genannten drei Werte Teil desselben Datensatzes sind; die geschweiften Klammern sorgen dafür, dass die Werte irgendwie zusammenhängen.
Wertegruppe
Wenn Sie eine Reihe von Werten darstellen müssen, kann JSON nicht nur die Lesbarkeit verbessern, sondern auch die Komplexität reduzieren. Angenommen, Sie möchten eine Liste mit Namen von Personen darstellen. In
XML sind eine Reihe öffnender und schließender Tags erforderlich. Wenn Sie typische Name/Wert-Paare verwenden (wie die, die Sie in früheren Artikeln dieser Serie gesehen haben), müssen Sie ein proprietäres Datenformat erstellen. oder ändern Sie den Schlüsselnamen in etwas wie person1-firstName. Wenn Sie JSON verwenden,
gruppieren Sie einfach mehrere Datensätze zusammen mit geschweiften Klammern:
{ "people": [

{ "firstName" : "Brett", " lastName="McLaughlin", "email": "brett@newInstance.com" },

{ "firstName": "Jason", "lastName": "Hunter", " email": "jason@ servlets.com“ },

{ „firstName“: „Elliotte“, „lastName“: „Harold“, „email“: „elharo@macfaq.com“ }

]}

Das ist nicht schwer zu verstehen. In diesem Beispiel gibt es nur eine
Variable mit dem Namen „Personen“ und der Wert ist ein Array mit drei Einträgen, wobei jeder Eintrag ein Datensatz für eine Person ist, der einen Vornamen, einen Nachnamen und eine E-Mail-Adresse enthält. Das obige Beispiel zeigt, wie Klammern verwendet werden, um Datensätze zu einem einzigen Wert zusammenzufassen. Natürlich können mehrere Werte (die jeweils mehrere Datensätze enthalten) mit derselben Syntax ausgedrückt werden:
{ "programmers": [

{ "firstName": "Brett", "lastName :: „McLaughlin“, „email“: „brett@newInstance.com“ },

{ „firstName“: „Jason“, „lastName“: „Hunter“, „email“: „jason@servlets .com“ },

{ „firstName“: „Elliotte“, „lastName“: „Harold“, „email“: „elharo@macfaq.com“ }

],

"Autoren": [

{ "Vorname": "Isaac", "Nachname": "Asimov", "Genre": "Science-Fiction" },

{ " firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },

{ "firstName": "Frank", "lastName": "Peretti", "genre" : „christliche Fiktion“ }

],

„Musiker“: [

{ „Vorname“: „Eric“, „Nachname“: „Clapton“, „Instrument ": "Gitarre" },

{ "Vorname": "Sergei", "Nachname": "Rachmaninow", "Instrument": "Klavier" }

]

}

Das Bemerkenswerteste hier ist, dass es mehrere Werte darstellen kann und jeder Wert wiederum mehrere Werte enthält. Es ist jedoch auch zu beachten, dass die tatsächlichen Name/Wert-Paare im Datensatz zwischen verschiedenen Haupteinträgen (Programmierer, Autoren und Musiker) unterschiedlich sein können. JSON ist vollständig dynamisch, sodass sich die Art und Weise, wie Daten dargestellt werden, in der Mitte der JSON-Struktur ändern kann.
Bei der Arbeit mit JSON-formatierten Daten gibt es keine vordefinierten Einschränkungen, die eingehalten werden müssen. Daher kann innerhalb derselben Datenstruktur die Art und Weise der Datendarstellung geändert werden, und dasselbe kann sogar auf unterschiedliche Weise dargestellt werden.
JSON in JavaScript verwenden
Sobald Sie das JSON-Format beherrschen, ist die Verwendung in JavaScript einfach. JSON ist ein natives JavaScript-Format, was bedeutet, dass Sie keine spezielle API oder Toolkit benötigen, um JSON-Daten in JavaScript zu verarbeiten.
JSON-Daten einer Variablen zuweisen
Sie können beispielsweise eine neue JavaScript-Variable erstellen und ihr direkt die Datenzeichenfolge im JSON-Format zuweisen:
var people =

{ "programmers": [

{ „firstName“: „Brett“, „lastName“: „McLaughlin“, „email“: „brett@newInstance.com“ },

{ „firstName“: „Jason ", „lastName“: „Hunter“, „email“: „jason@servlets.com“ },

{ „firstName“: „Elliotte“, „lastName“: „Harold“, „email“: „elharo@macfaq.com“ }

],

„Autoren“: [

{ „Vorname“: „Isaac“, „Nachname“: „Asimov“, „Genre“: „Science-Fiction“ },

{ „Vorname“: „Tad“, „Nachname“: „Williams“, „Genre“: „Fantasy“ },

{ „ Vorname“: „Frank“, „Nachname“: „Peretti“, „Genre“: „christliche Fiktion“ }

],

„Musiker“: [

{ „firstName“: „Eric“, „lastName“: „Clapton“, „instrument“: „guitar“ },

{ „firstName“: „Sergei“, „lastName“: „Rachmaninoff“, „instrument ": "piano" }

]

}
Das ist ganz einfach; jetzt enthält people die Daten im JSON-Format, das wir zuvor gesehen haben. Dies reicht jedoch nicht aus, da der Weg zum Zugriff auf die Daten noch nicht klar zu sein scheint.
Zugriff auf Daten
Obwohl es nicht offensichtlich erscheint, handelt es sich bei der langen Zeichenfolge oben tatsächlich nur um ein Array. Sie können problemlos auf dieses Array zugreifen, indem Sie es in eine JavaScript-Variable einfügen. Tatsächlich verwenden Sie einfach die Punktnotation, um Array-Elemente darzustellen. Um also auf den Nachnamen des ersten Eintrags in der Programmiererliste zuzugreifen, verwenden Sie einfach den folgenden Code in JavaScript:
people.programmers[0].lastName;

Beachten Sie, dass das Array Index ist nullbasiert. Diese Codezeile greift also zuerst auf die Daten in der Variablen „people“ zu, wechselt dann zum Eintrag „programmers“, wechselt dann zum ersten Datensatz ([0]) und greift schließlich auf den Wert des Schlüssels „lastName“ zu. Das Ergebnis ist der String-Wert „McLaughlin“.
Hier sind einige Beispiele, die dieselbe Variable verwenden.
people.authors[1].genre // Wert ist „fantasy“
people.musicians[3].lastName // Undefiniert Dies bezieht sich auf den vierten Eintrag,
und es gibt keinen
people.programmers.[2].firstName // Wert ist „Elliotte“

Mit dieser Syntax können alle Daten im JSON-Format verarbeitet werden, ohne dass ein zusätzliches JavaScript-Toolkit oder eine zusätzliche API verwendet werden muss.
JSON-Daten ändern
So wie Sie über Punkte und Klammern auf die Daten zugreifen können, können Sie die Daten auch einfach auf die gleiche Weise ändern:

people.musicians[1].lastName = "Rachmaninow ";

Nachdem Sie den String in ein JavaScript-Objekt konvertiert haben, können Sie die Daten in der Variablen wie folgt ändern.
Zurück in einen String konvertieren
Natürlich sind alle Datenänderungen von geringem Wert, wenn Sie das Objekt nicht einfach zurück in das in diesem Artikel erwähnte Textformat konvertieren können. Diese Konvertierung ist auch in JavaScript einfach:
String newJSONtext = people.toJSONString();
Das ist es! Sie verfügen nun über eine Textzeichenfolge, die Sie überall verwenden können, beispielsweise als Anforderungszeichenfolge in einer Ajax-Anwendung.
Noch wichtiger ist, dass jedes JavaScript-Objekt in JSON-Text konvertiert werden kann. Es ist nicht nur möglich, Variablen zu verarbeiten, die ursprünglich mit JSON-Strings zugewiesen wurden. Um ein Objekt mit dem Namen myObject zu konvertieren, führen Sie einfach einen Befehl derselben Form aus:
String myObjectInJSON = myObject.toJSONString();
Dies ist der größte Unterschied zwischen JSON und den anderen in dieser Serie behandelten Datenformaten. Wenn Sie JSON verwenden, müssen Sie nur eine einfache Funktion aufrufen, um die formatierten Daten abzurufen, die sofort verwendet werden können. Für andere Datenformate ist eine Konvertierung zwischen Rohdaten und formatierten Daten erforderlich. Selbst wenn Sie eine API wie das Document Object Model verwenden (das Funktionen zum Konvertieren Ihrer eigenen Datenstrukturen in Text bereitstellt), müssen Sie die API erlernen und die Objekte der API verwenden, anstatt native JavaScript-Objekte und -Syntax zu verwenden.
Fazit: Wenn Sie mit einer großen Anzahl von JavaScript-Objekten arbeiten, ist JSON mit ziemlicher Sicherheit eine gute Wahl, da Sie die Daten problemlos in ein Format konvertieren können, das in der Anfrage an das serverseitige Programm gesendet werden kann.

Fazit

In dieser Serie wurde viel Zeit auf die Diskussion von Datenformaten verwendet, hauptsächlich weil fast alle asynchronen Anwendungen irgendwann Daten verarbeiten. Sie werden Ajax besser beherrschen, wenn Sie die verschiedenen Tools und Techniken zum Senden und Empfangen aller Arten von Daten beherrschen und sie so verwenden, dass sie für jeden Datentyp am besten funktionieren. Beherrschen Sie nicht nur XML und Klartext, sondern auch JSON, damit Sie komplexere Datenstrukturen in JavaScript verarbeiten können.

Der nächste Artikel dieser Reihe geht über das Senden von Daten hinaus und bietet einen detaillierten Einblick in die Art und Weise, wie serverseitige Programme Daten im JSON-Format empfangen und verarbeiten. Besprechen Sie auch, wie serverseitige Programme Daten im JSON-Format über Skripte und serverseitige Komponenten zurücksenden können, sodass Sie XML-, Nur-Text- und JSON-Anfragen und -Antworten mischen können. Dies bietet viel Flexibilität, alle diese Tools in nahezu jeder Kombination zu verwenden.


Das obige ist der detaillierte Inhalt vonEinfaches Verständnis von JSON. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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