564 Stimmen

Was ist JSON und wofür wird es verwendet?

Ich habe bei Wikipedia nachgeschaut, gegoogelt und die offizielle Dokumentation gelesen, aber ich bin immer noch nicht so weit, dass ich wirklich verstehe, was JSON ist und warum ich es verwenden sollte.

Ich baue seit einiger Zeit Anwendungen mit PHP, MySQL und JavaScript/HTML, und wenn JSON etwas tun kann, um mein Leben einfacher oder meinen Code oder meine Benutzeroberfläche besser zu machen, dann würde ich das gerne wissen. Kann mir jemand eine knappe Erklärung geben?

16voto

Nolte Punkte 1106

JSON steht für JavaScript Object Notation. Im Vergleich zu XML ist JSON eine viel kompaktere Methode zur Übertragung von Datensätzen über Netzwerkverbindungen. Ich schlage vor, JSON in allen AJAX-ähnlichen Anwendungen zu verwenden, bei denen XML ansonsten die "empfohlene" Option wäre. Die Ausführlichkeit von XML verlängert die Downloadzeit und erhöht den Bandbreitenverbrauch ($$$). Mit JSON lässt sich derselbe Effekt erzielen, und das Markup bezieht sich fast ausschließlich auf die Daten selbst und nicht auf die zugrunde liegende Struktur.

11voto

Steven A. Lowe Punkte 59247

Die allgemeine kurze Antwort lautet: Wenn Sie AJAX verwenden, um Datenanforderungen zu stellen, können Sie problemlos Objekte als JSON-Strings senden und zurückgeben. Verfügbare Erweiterungen für Javascript unterstützen toJSON()-Aufrufe für alle Javascript-Typen zum Senden von Daten an den Server in einer AJAX-Anfrage. AJAX-Antworten können Objekte als JSON-Strings zurückgeben, die durch einen einfachen eval-Aufruf in Javascript-Objekte umgewandelt werden können, z.B. wenn die AJAX-Funktion someAjaxFunctionCallReturningJson zurückgibt

"{ \"FirstName\" : \"Fred\", \"LastName\" : \"Flintstone\" }"

könnten Sie in Javascript schreiben

var obj = eval("(" + someAjaxFunctionCallReturningJson().value + ")");
alert(obj.FirstName);
alert(obj.LastName);

JSON kann auch für Webdienst-Payloads u. a. verwendet werden, ist aber für AJAX-Ergebnisse besonders geeignet.

  • Update (zehn Jahre später): Tun Sie das nicht, verwenden Sie JSON.parse

8voto

Jason Baker Punkte 180981

Ich mag JSON vor allem deshalb, weil es so kurz und bündig ist. . Für Web-Inhalte, die gzipped werden können, ist dies nicht unbedingt eine große Sache (daher ist x html so beliebt ist). Aber es gibt Gelegenheiten, bei denen dies von Vorteil sein kann.

Für ein Projekt habe ich zum Beispiel Informationen übertragen, die serialisiert und über das Internet übertragen werden mussten. XMPP . Da die meisten Server die Datenmenge begrenzen, die Sie in einer einzigen Nachricht übertragen können, fand ich es hilfreich, JSON statt der offensichtlichen Alternative XML zu verwenden.

Ein zusätzlicher Bonus ist, dass Sie, wenn Sie mit Python oder Javascript vertraut sind, JSON bereits ziemlich gut kennen und es ohne viel Training interpretieren können.

8voto

Elangovan Punkte 3331

Was ist JSON?

JavaScript Object Notation (JSON) ist ein leichtgewichtiges Datenaustauschformat, das von den Objektliteralen von JavaScript inspiriert ist.

JSON-Werte können bestehen aus:

Objekte (Sammlungen von Name-Werte-Paaren) Arrays (geordnete Listen von Werten) Zeichenketten (in doppelten Anführungszeichen) Zahlen wahr, falsch oder null

JSON ist sprachunabhängig.

JSON mit PHP?

Seit PHP Version 5.2.0 ist die JSON-Erweiterung standardmäßig dekodiert und kodiert.

Json_encode - liefert die JSON-Darstellung von Werten Json_decode - Dekodiert den JSON-String Json_last_error - Gibt den letzten aufgetretenen Fehler zurück.

JSON-Syntax und Regeln?

Die JSON-Syntax ist von der Syntax der JavaScript-Objektnotation abgeleitet:

Daten sind in Name/Wert-Paaren Daten werden durch Kommas getrennt Geschweifte Klammern enthalten Objekte Eckige Klammern enthalten Arrays

7voto

Jerel Punkte 103

Manchmal werden Fachausdrücke verwendet, die gar nicht nötig sind, und obwohl viele der am häufigsten gewählten Antworten sehr technisch und spezifisch sind, finde ich persönlich nicht, dass sie leichter zu verstehen oder prägnanter sind als das, was auf Wikipedia oder in offiziellen Dokumenten zu finden ist.

Ich betrachte JSON als genau das, was es ist - eine Sprache innerhalb einer Welt von verschiedenen Sprachen. Der Unterschied zwischen JSON und anderen Sprachen ist jedoch, dass "jeder" JSON "spricht", zusammen mit seiner "Muttersprache".

Nehmen wir ein Beispiel aus der realen Welt: Nehmen wir an, wir haben drei Personen. Eine Person spricht Igbo als ihre Muttersprache. Die zweite Person möchte mit der ersten Person interagieren, aber die erste Person spricht Yoruba als Muttersprache.

Was können wir tun?

Glücklicherweise ist die dritte Person in unserem Beispiel mit der englischen Sprache aufgewachsen, spricht aber zufällig auch beide Igbo und Yoruba als Zweitsprachen und kann somit als Vermittler zwischen den beiden erstgenannten Sprachen fungieren.

In der Welt der Programmierung ist die erste "Person" Python, die zweite "Person" ist Ruby und die dritte "Person" ist JSON, die zufällig in der Lage ist, Ruby in Python zu "übersetzen" und umgekehrt! Natürlich ist diese Analogie nicht perfekt, aber als jemand, der zweisprachig ist, glaube ich, dass es ein einfacher Weg ist, um zu sehen, wie JSON mit anderen Programmiersprachen interagiert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X