JSON-Format

JSON-Format

JSON-Format

JSON Es handelt sich um ein textbasiertes Datenaustauschformat, das heißt, es ist sowohl für eine Person als auch für ein Programm leicht lesbar. Sein Name entspricht dem englischen Akronym von JavaScript-Objekt-Notation und ist standardisiert als ECMA-404. Obwohl es sich in der Syntax um ein Format handelt, das sehr ähnlich ist JavaScriptDa es sehr einfach ist, Objektdaten zu kodieren oder zu erhalten, wird es auch in vielen anderen Programmiersprachen verwendet (C, C + +, Javac, Python...) als Alternative beispielsweise zu XML, das ein ähnliches Ziel verfolgt, aber aufgrund der größeren Metainformationen mehr Text benötigt und daher mehr Platz einnimmt, mehr Bandbreite verbraucht und mehr Ressourcen zum Kodieren und Dekodieren benötigt die darin enthaltenen Informationen. JSON.

Inhaltsverzeichnis

    Die Daten eines Objekts kodiert in JSON Sie werden in geschweifte Klammern eingeschlossen, die verschiedenen darin enthaltenen Eigenschaften werden durch Kommas getrennt und die Eigenschaftsnamen stehen vor dem Wert, von dem sie durch einen Doppelpunkt getrennt werden.

    Überblick über die Syntax eines Objekts im JSON-Format

    Eigenschaftsnamen müssen in doppelte Anführungszeichen gesetzt werden (obwohl einige Parser einfache Anführungszeichen unterstützen), und obwohl einige Sonderzeichen für Namen zulässig sind (z. B. Akzentzeichen), wird es nicht empfohlen, die Kriterien einiger Analyse-Engines zu vermeiden Vermeiden Sie Konflikte bei der Verwendung von Eigenschaften, insbesondere mit der Dot(object.property)-Syntax

    Im obigen Beispiel sehen Sie ein Objekt mit sechs Eigenschaften mit einfachen, numerischen, booleschen oder Textwerten; aber im Format JSON, Eigenschaften können neben einer Textzeichenfolge (ein Text in Anführungszeichen), einer Zahl (in verschiedenen Formaten) oder einem booleschen Wert (wahr oder falsch) auch ein Objekt (einschließlich des „speziellen Objekts“ null) oder ein Array als Wert annehmen ).

    Wie bei der Sprache JavaScript (JSON ist eine Teilmenge von JavaScript) Um eine Matrix auszudrücken, werden ihre Werte in eckige Klammern eingeschlossen und durch Kommas getrennt. Der einfachste Fall wird im folgenden Beispiel veranschaulicht; Es handelt sich um ein eindimensionales Array, einen Vektor, der aus numerischen Werten besteht.

    En JavaScript Es ist nicht notwendig, dass alle Elemente eines Arrays vom gleichen Typ sind, Sie können beispielsweise Textzeichenfolgen und numerische Werte mischen. Ein Vektor, ein eindimensionales Array, kann auch eines der Elemente eines anderen Arrays sein, wodurch mehrdimensionale Arrays variabler Länge erstellt werden können. Das folgende Beispiel zeigt ein Objekt mit drei Eigenschaften: Die erste ist ein zweidimensionales Array fester Längen, die zweite variable Längen und die dritte besteht aus einem Array mit Werten unterschiedlichen Typs.

    Im folgenden Beispiel werden andere Objekte als Werte für die Eigenschaften des übergeordneten Objekts verwendet. Es gibt keine Begrenzung für die Verschachtelungsebene, sodass Objekte, die Eigenschaftswerte des übergeordneten Elements sind, auch andere Objekte als Eigenschaftswerte usw. haben können.

    So wie es mit passiert JavaScriptEscape-Codes werden verwendet, um bestimmte Zeichen in eine Textzeichenfolge einzuschließen. Die allgemeinste Methode besteht darin, Unicode-Codes zu verwenden, die mit der Escape-Leiste, dem Buchstaben u und vier hexadezimalen Ziffern im Format ausgedrückt werden "\u263A" um sich zum Beispiel auf ☺ zu beziehen.

    Die in den meisten Sprachen vorkommenden Standardzeichen (ähnlich wie C) sind die folgenden

    • Rücktaste \b Code ASCII 8 (0x08)
    • Tabulator \t Code ASCII 9 (0x09) Wird normalerweise als HT (horizontaler Tabulator) dargestellt.
    • Neue Zeile \n Code ASCII 10 (0x0A) Wird normalerweise als LF (Zeilenvorschub) dargestellt.
    • Neue Seite \f Code ASCII 12 (0x0C) Normalerweise dargestellt als FF (Form Feed)
    • Retorno \r Code ASCII 13 (0x0D) Wird normalerweise als CR (Wagenrücklauf) dargestellt.
    • Comillas \" Code ASCII 34 (0x22)
    • geteilte Leiste \/ Code ASCII 57 (0x2F)
    • Backslash \\ Code ASCII 134 (0x5C)
    • Unicode-Code \uXXXX

    Abgeleitet von C (und im Zusammenhang mit Unix und dergleichen, wie z GNU / Linux) Das Zeilenende wird normalerweise mit dargestellt \n und es ist diejenige, die ausgewählt werden muss JSON Es ist jedoch interessant, sich daran zu erinnern, dass einige Betriebssysteme andere Alternativen bevorzugen. Windows repräsentiert normalerweise mit \r\n Zeilenenden und Mac OS (vor OS \r

    Bezüglich des Zahlenformats gilt auch die Referenz JavaScript. Das Dezimaltrennzeichen ist der Punkt, der Bindestrich (ASCII 45 0x2D) wird als negatives Vorzeichen verwendet und der Notation in Exponentialform (Wissenschaftliche Schreibweise) Verwendet E als Indikator (kann in Groß- oder Kleinschreibung erfolgen)

    Wie ich eingangs sagte, verfügen die verschiedenen Programmiersprachen über Analyse- und Zuordnungsfunktionen, um die gewonnenen Daten als Text nutzen zu können. Das folgende Beispiel zeigt, wie sie verwendet werden würden JavaScript. Um es von einer Konsole aus nutzen zu können, ist die Datenzuordnung enthalten JSON Um mögliche Fehler zu vermeiden, die vom vom Interpreter verwendeten ECMA-Standard abhängen JavaScript die Objektzuordnung erfolgt JSON in einer einzigen Zeile. Ausgabe 6 von 2016 (ECMA-262) unterstützt mehrzeilige Zeichenfolgen, Edition 5 (bis 2011) muss Escape-Code hinzufügen \ und in den vorherigen muss man es von Hand lösen oder eine einzelne Zeile verwenden.

    Eine Warnung, neue Benutzer nicht zu verwirren JavaScript. Im Code JavaScript Es ist nicht notwendig, eine Textzeichenfolge zu verwenden, um ein Objekt zu erstellen. Im vorherigen Beispiel wird sie verwendet, um Daten zu simulieren, die beispielsweise von einem Server eintreffen. Um einer Variablen ein Objekt zuzuweisen, gehen Sie wie folgt vor:

    Dieses Objekt könnte beispielsweise mit der Funktion in Text umgewandelt werden stringify wie folgt:

    Das Format JSON Es ist recht flexibel, hat aber vor allem deshalb, weil es textbasiert ist, um für Menschen lesbar zu sein, einige Nachteile. Das erste ist, dass es mehr Speicher benötigt und mehr Bandbreite verbraucht, als unbedingt erforderlich ist. In den vorherigen Beispielen wurde ein Format verwendet, das mehr darauf abzielt, lesbar als wirtschaftlich zu sein. Daher sind sie kein Beispiel für Einsparungen, auch wenn es viele Elemente des Formats (geschweifte Klammern, eckige Klammern, Anführungszeichen usw.) gibt, die dies tun würden Verbrauchen Sie weiterhin Ressourcen im Vergleich zu den dargestellten Informationen. im Rohzustand.

    Das zweite Problem entsteht beim Umgang mit rein binären Daten (z. B. Bildern). Beim Umgang mit kleinen Teilen kann es mit dem gelöst werden, was zur Auflösung der Formatierung von Sonderzeichen erläutert wurde. Wenn es jedoch um die Kodierung von Informationen bestimmter Dimensionen geht, Es ist notwendig, es in das Format einzubetten JSON ein anderes Textformat verwenden. Die am häufigsten verwendete Codierung zur Lösung dieses Aspekts ist Base64 da viele Sprachen über Bibliotheken verfügen, um Informationen in die eine oder andere Richtung umzuwandeln. Handelt es sich bei den zu manipulierenden Daten überwiegend um Daten dieser Art und/oder ist es nicht erforderlich, dass eine Person die Informationen ohne ein Programm interpretieren kann, lohnt es sich, über das Format nachzudenken JSON ist am besten geeignet.

    Geben Sie Anmerkung

    Sie können vermisst haben