Anleitung zum JSON-Schema

JSON-Schema

Bevor wir uns mit dem JSON-Schema befassen, ist es wichtig, den Unterschied zwischen JSON und JSON-Schema zu kennen.

JSON

JSON ist die Abkürzung für JavaScript Object Notation und ein sprachunabhängiges Datenformat, das APIs verwenden, um Anfragen und Antworten zu senden. JSON ist für Menschen und Maschinen gleichermaßen einfach zu lesen und zu schreiben. JSON ist ein textbasiertes Format, das nicht an die Sprache gebunden ist (sprachunabhängig).

JSON-Schema

Das JSON-Schema ist ein nützliches Tool zum Überprüfen der JSON-Datenstruktur. Um die Struktur von JSON anzugeben, verwenden Sie ein JSON-basiertes Format. Sein Zweck besteht darin, sicherzustellen, dass JSON-Daten akzeptabel sind. Die Konvention für die JSON-Daten unserer Anwendung kann mithilfe von Schema definiert werden.

Die JSON-Schemaspezifikation besteht aus drei Hauptabschnitten:

JSON-Hyperschema:

JSON Hyper-Schema ist eine JSON-Schemasprache, die verwendet werden kann, um JSON-Dokumente mit Hyperlinks und Anweisungen zum Verarbeiten und Ändern externer JSON-Ressourcen über textbasierte Umgebungen wie HTTP zu kennzeichnen. Klicken hier um mehr über JSON Hyper-Schema zu erfahren.

JSON-Schemakern:

Es handelt sich um eine Reihe von Regeln zur Kennzeichnung und Validierung von JSON-Dokumenten. 

JSON-Schemakern:

  • Beschreibt das Datenformat, das Sie derzeit haben. 
  • Validiert Daten, die in automatisierten Tests verwendet werden können. 
  • Gewährleistung der Richtigkeit der von den Kunden angegebenen Daten.  
  • Bietet lesbare Dokumentation für Menschen und Maschinen. 

JSON-Schema-Validierung:

Die auf dem JSON-Schema basierende Validierung erlegt der Struktur von Instanzdaten Grenzen auf. Danach alle Keywords mit Nicht-Assertion Information, wie beschreibende Metadaten und Verwendungsangaben, einer Instanzposition hinzugefügt werden, die alle deklarierten Einschränkungen erfüllt. 

Das JSON-Schema-Validator-Tool von Newtonsoft ist ein Tool, das Sie kostenlos direkt in Ihrem Browser verwenden können. Mit diesem Tool können Sie die Struktur Ihres JSON-Schemas testen. Diese Seite enthält Steuerelemente und Erläuterungen, um Ihnen den Einstieg zu erleichtern. Auf diese Weise ist leicht ersichtlich, wie Sie Ihre JSON-Struktur verbessern können.

Wir können unser JSON-Objekt mit dem JSON Schema Validation Tool überprüfen:

JSON Validator fehlerfrei

Wir haben eine Altersvalidierung (Minimum = 20 und Maximum = 40), wie in der obigen Abbildung gezeigt. Es wurden keine Fehler gefunden.

JSON-Validator mit Fehler

Es zeigte einen Fehler an, wenn die Altersvalidierung falsch eingegeben wurde.

Die Erstellung eines JSON-Schemas

Sehen wir uns ein Beispiel für ein JSON-Schema an, um zu sehen, wovon wir sprechen. Ein grundlegendes JSON-Objekt, das einen Produktkatalog beschreibt, sieht wie folgt aus:

JSON-Beispiel

Sein JSON-Schema könnte wie folgt geschrieben werden:

JSON-Schema-Ergebnis

Ein JSON-Schema ist ein JSON-Dokument, und dieses Dokument MUSS ein Objekt sein. Schlüsselwörter sind Objektmitglieder/-attribute, die vom JSON-Schema angegeben werden. „Schlüsselwörter“ im JSON-Schema beziehen sich auf den „Schlüssel“-Teil einer Schlüssel/Wert-Kombination in einem Objekt. Das Schreiben eines JSON-Schemas beinhaltet größtenteils das Zuordnen eines bestimmten „Schlüsselworts“ zu einem Wert innerhalb eines Objekts. 

Schauen wir uns die Keywords, die wir in unserem Beispiel verwendet haben, genauer an: 

Das JSON-Schema, dem das Schema der Ressource entspricht, wird von diesem Attribut aufgeschrieben. Dieses Schema wurde gemäß dem Drafts v4-Standard geschrieben, wie im „$ schema" Stichwort. Dadurch wird verhindert, dass Ihr Schema auf die aktuelle Version zurückfällt, die möglicherweise mit älteren Versionen kompatibel ist oder nicht.

Das "Titel" und "Beschreibung” Schlüsselwörter sind nur erklärend; sie erlegen den zu prüfenden Daten keine Beschränkungen auf. Diese beiden Schlüsselwörter beschreiben den Zweck des Schemas: Es beschreibt ein Produkt.

Das "tippeDas Schlüsselwort „” definiert die erste Randbedingung unserer JSON-Daten; es muss ein JSON-Objekt sein. Wenn wir den Typ nicht für alle Schemas festlegen, würde der Code nicht funktionieren. Einige gebräuchliche Typen sind „Zahl“, „Boolean“, „Integer“, „Null“, „Objekt“, „Array“, „String“.

 

Das JSON-Schema wird von den folgenden Bibliotheken unterstützt:

 

Sprache

Bibliothek

C

WJElement

Python

jschon

PHP

Die Beschreibung des Json-Schemas

JavaScript

AJV

Go

gojsonschema

Kotlin

Media-Validator

Ruby

JSONSchemer

JSON (Syntax)

Werfen wir einen kurzen Blick auf die grundlegende Syntax von JSON. Die JSON-Syntax ist eine Teilmenge der JavaScript-Syntax, die die folgenden Elemente enthält:

  • Es werden Name/Wert-Paare verwendet, die Daten darstellen.
  • Objekte werden in geschweiften Klammern gehalten, und jeder Name wird von einem „:“ (Doppelpunkt) eingeleitet, wobei Wertepaare durch „,“ (Komma) getrennt sind.
  • Werte werden durch „,“ (Komma) getrennt und Arrays werden in eckige Klammern gesetzt.
JSON-Syntaxbeispiel

Die folgenden zwei Datenstrukturen werden von JSON unterstützt:

  • Geordnete Werteliste: Es kann ein Array, eine Liste oder ein Vektor sein.
  • Sammlung von Name/Wert-Paaren: Verschiedene Computersprachen unterstützen diese Datenstruktur.

 

JSON (Objekt)

Ein JSON-Schema ist ein JSON-Objekt, das den Typ und die Struktur eines anderen JSON-Objekts umreißt. Ein JavaScript-Objektausdruck kann ein JSON-Objekt in JavaScript-Laufzeitumgebungen darstellen. Einige Beispiele für gültige Schemaobjekte sind wie folgt:

Schema

Streichhölzer

{}

irgendein Wert

{ Typ: 'Objekt' }

ein JavaScript-Objekt

{ Nummer eingeben' }

eine JavaScript-Nummer

{Typ: 'Zeichenfolge'}

ein JavaScript-String

Z.B:

Erstellen eines neuen Objekts, das leer ist:

var JSON_Obj = {};

Erstellung eines neuen Objekts:

var JSON_Obj = neues Objekt ()

JSON (Vergleich mit XML)

JSON und XML sind sprachunabhängige, für Menschen lesbare Formate. In realen Szenarien können sie sowohl erstellen, lesen als auch dekodieren. Anhand der folgenden Kriterien können wir JSON mit XML vergleichen.

Komplexität

Da XML komplexer als JSON ist, bevorzugen Programmierer JSON.

Verwendung von Arrays

XML wird verwendet, um strukturierte Daten auszudrücken; XML unterstützt jedoch keine Arrays, JSON jedoch schon.

Parsing

JSON wird mit der Eval-Funktion von JavaScript interpretiert. eval gibt das beschriebene Objekt zurück, wenn es mit JSON verwendet wird.

 

Beispiel:

 

JSON

XML

{

   „Firma“: Ferrari,

   „Name“: „GTS“,

   „Preis“: 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

Vorteile des JSON-Schemas

JSON wurde entwickelt, um in einer für Menschen und Maschinen lesbaren Sprache abzulenken. Ohne etwas Feinabstimmung kann es jedoch beides nicht sein. Das JSON-Schema hat den Vorteil, dass es JSON sowohl für Maschinen als auch für Menschen verständlicher macht.

Die Verwendung des JSON-Schemas beseitigt auch die Notwendigkeit mehrerer clientseitiger Updates. Das Erstellen einer Liste gängiger HTML-Codes und deren anschließende Implementierung auf der Clientseite ist eine typische, aber ungenaue Methode zum Erstellen von Clientseiten API Apps. Dies ist jedoch nicht die beste Strategie, da Änderungen auf der Serverseite dazu führen können, dass bestimmte Funktionen nicht mehr funktionieren.

Der Hauptvorteil von JSON Schema ist seine Kompatibilität mit einer Vielzahl von Programmiersprachen sowie die Genauigkeit und Konsistenz der Validierung.

Das JSON-Schema unterstützt eine Vielzahl von Browsern und Betriebssysteme, daher unternehmen in JSON geschriebene Apps keinen großen Aufwand, um sie alle browserkompatibel zu machen. Während der Entwicklung berücksichtigen Entwickler mehrere Browser, obwohl JSON bereits über die Fähigkeiten verfügt.

JSON ist die effizienteste Methode, um Daten jeder Größe, einschließlich Audio, Video und andere Medien, gemeinsam zu nutzen. Dies liegt daran, dass JSON Daten in Arrays speichert, was die Datenübertragung vereinfacht. Daher ist JSON das beste Dateiformat für Online-APIs und -Entwicklung.

Da APIs immer häufiger verwendet werden, ist es logisch anzunehmen, dass API-Validierung und -Tests immer wichtiger werden. Es ist auch realistisch zu erwarten, dass JSON im Laufe der Zeit wahrscheinlich nicht viel einfacher wird. Dies bedeutet, dass es mit der Zeit immer wichtiger wird, ein Schema für Ihre Daten zu haben. Da JSON das Standarddateiformat für die Arbeit mit APIs ist, ist JSON Schema ein guter Ersatz für diejenigen, die mit APIs arbeiten.

Google und der Inkognito-Mythos

Google und der Inkognito-Mythos

Google und der Inkognito-Mythos Am 1. April 2024 stimmte Google zu, einen Rechtsstreit durch die Vernichtung von Milliarden von im Inkognito-Modus gesammelten Datensätzen beizulegen.

Mehr lesen »