Przewodnik po schemacie JSON

Schemat JSON

Zanim przejdziemy do schematu JSON, ważne jest, aby znać różnicę między schematem JSON a schematem JSON.

JSON

JSON to skrót od JavaScript Object Notation i jest to niezależny od języka format danych używany przez interfejsy API do wysyłania żądań i odpowiedzi. JSON jest łatwy do odczytania i zapisania zarówno dla ludzi, jak i dla maszyn. JSON to format tekstowy, który nie jest związany z językiem (niezależny od języka).

Schemat JSON

JSON Schema to przydatne narzędzie do weryfikacji struktury danych JSON. Aby określić strukturę JSON, użyj formatu opartego na JSON. Jego celem jest zapewnienie, że dane JSON są akceptowalne. Konwencja dla danych JSON naszej aplikacji może być zdefiniowana za pomocą schematu.

Istnieją trzy główne sekcje specyfikacji schematu JSON:

Hiperschemat JSON:

JSON Hyper-Schema to język schematu JSON, który może być używany do oznaczania dokumentów JSON hiperłączami i instrukcjami dotyczącymi przetwarzania i zmiany zewnętrznych zasobów JSON za pośrednictwem środowisk tekstowych, takich jak HTTP. Kliknij tutaj aby dowiedzieć się więcej o JSON Hyper-Schema.

Rdzeń schematu JSON:

Jest to zbiór zasad oznaczania i walidacji dokumentów JSON. 

Rdzeń schematu JSON:

  • Opisuje aktualnie używany format danych. 
  • Weryfikuje dane, które można wykorzystać w testach automatycznych. 
  • Dbanie o poprawność danych podawanych przez klientów.  
  • Zapewnia czytelną dokumentację zarówno dla ludzi, jak i dla maszyn. 

Walidacja schematu JSON:

Walidacja oparta o JSON Schema nakłada ograniczenia na strukturę danych instancji. Następnie wszelkie słowa kluczowe mające brak asercji Informacja, takie jak opisowe metadane i wskazania użycia, są dodawane do pozycji instancji, która spełnia wszystkie zadeklarowane ograniczenia. 

Narzędzie JSON Schema Validator firmy Newtonsoft to narzędzie, z którego można bezpłatnie korzystać bezpośrednio w przeglądarce. Możesz użyć tego narzędzia do przetestowania struktury schematu JSON. Ta strona zawiera elementy sterujące i objaśnienia ułatwiające rozpoczęcie pracy. W ten sposób łatwo jest zobaczyć, jak poprawić strukturę JSON.

Możemy sprawdzić nasz obiekt JSON za pomocą narzędzia JSON Schema Validation Tool:

Walidator JSON wolny od błędów

Mamy walidację wieku (minimum = 20 i maksimum = 40), jak pokazano na powyższym rysunku. Nie znaleziono żadnych błędów.

Walidator JSON z błędem

Wyświetlał błąd, jeśli walidacja wieku została wprowadzona niepoprawnie.

Tworzenie schematu JSON

Spójrzmy na przykład schematu JSON, aby zobaczyć, o czym mówimy. Podstawowy obiekt JSON opisujący katalog produktów wygląda następująco:

Przykład JSON

Jego schemat JSON można zapisać w następujący sposób:

Wynik schematu JSON

Schemat JSON to dokument JSON, a ten dokument MUSI być obiektem. Słowa kluczowe to elementy/atrybuty obiektu określone przez schemat JSON. „Słowa kluczowe” w schemacie JSON odnoszą się do „kluczowej” części kombinacji klucz/wartość w obiekcie. Pisanie schematu JSON obejmuje w większości mapowanie określonego „słowa kluczowego” na wartość w obiekcie. 

Przyjrzyjmy się bliżej słowom kluczowym użytym w naszym przykładzie: 

Ten atrybut zapisuje schemat JSON, z którym zgodny jest schemat zasobu. Ten schemat został napisany zgodnie ze standardem drafts v4, jak określono w „$ schemasłowo kluczowe. Zapobiegnie to powrotowi schematu do bieżącej wersji, która może, ale nie musi, być kompatybilna ze starszą.

"tytuł"I"opis” słowa kluczowe są tylko objaśniające; nie nakładają żadnych ograniczeń na sprawdzane dane. Te dwa słowa kluczowe opisują cel schematu: opisuje on produkt.

"rodzaj” słowo kluczowe określa pierwszy warunek brzegowy naszych danych JSON; musi to być obiekt JSON. Jeśli nie ustawimy typu dla wszystkich schematów, kod nie zadziała. Niektóre popularne typy to „liczba” „Boolean” „liczba całkowita” „null” „obiekt” „tablica” „łańcuch”.

 

Schemat JSON jest obsługiwany przez następujące biblioteki:

 

Wybierz język

Biblioteka

C

WJEelement

Python

jschon

PHP

Opisz schemat Jsona

JAVASCRIPT

przym

Go

schemat gojsona

Kotlin

Walidator mediów

Rubin

Schemat JSON

JSON (składnia)

Rzućmy okiem na podstawową składnię JSON. Składnia JSON to podzbiór składni JavaScript, który obejmuje następujące elementy:

  • Używane są pary nazwa/wartość reprezentujące dane.
  • Obiekty są ujęte w nawiasy klamrowe, a każda nazwa jest poprzedzona znakiem „:” (dwukropek), a pary wartości są oddzielone znakiem „,” (przecinek).
  • Wartości oddziela się znakiem „,” (przecinek), a tablice umieszcza się w nawiasach kwadratowych.
Przykład składni JSON

Następujące dwie struktury danych są obsługiwane przez JSON:

  • Uporządkowana lista wartości: Może to być tablica, lista lub wektor.
  • Kolekcja par nazwa/wartość: Różne języki komputerowe obsługują tę strukturę danych.

 

JSON (obiekt)

Schemat JSON to obiekt JSON, który określa typ i strukturę innego obiektu JSON. Wyrażenie obiektu JavaScript może reprezentować obiekt JSON w środowiskach wykonawczych JavaScript. Oto kilka przykładów prawidłowych obiektów schematu:

schemat

Mecze

{}

dowolna wartość

{ typ: „obiekt” }

obiekt JavaScript

{ wpisz: „liczba” }

numer JavaScript

{ wpisz: „ciąg znaków”}

ciąg JavaScript

Na przykład:

Tworzenie nowego obiektu, który jest pusty:

zmienna JSON_Obj = {};

Tworzenie nowego obiektu:

var JSON_Obj = nowy obiekt()

JSON (porównanie z XML)

JSON i XML to niezależne od języka formaty czytelne dla człowieka. W rzeczywistych scenariuszach mogą zarówno tworzyć, czytać, jak i dekodować. W oparciu o następujące kryteria możemy porównać JSON z XML.

Złożoność

Ponieważ XML jest bardziej złożony niż JSON, programiści wolą JSON.

Użycie tablic

XML służy do wyrażania danych strukturalnych; jednak XML nie obsługuje tablic, ale JSON tak.

Rozbiór gramatyczny zdania

JSON jest interpretowany przy użyciu funkcji eval języka JavaScript. eval zwraca opisany obiekt, gdy jest używany z JSON.

 

Przykład:

 

JSON

XML

{

   „firma”: Ferrari,

   „nazwa”: „GTS”,

   „cena”: 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

Zalety schematu JSON

JSON jest przeznaczony do odchylania w języku czytelnym dla ludzi i maszyn. Jednak bez pewnych dopracowań nie może to być żadne z nich. Zaletą JSON Schema jest to, że JSON jest bardziej zrozumiały zarówno dla maszyn, jak i dla ludzi.

Korzystanie ze schematu JSON eliminuje również potrzebę kilku aktualizacji po stronie klienta. Sporządzenie listy typowych kodów HTML, a następnie zaimplementowanie ich po stronie klienta jest typową, ale niedokładną metodą konstruowania kodu po stronie klienta API aplikacje. Nie jest to jednak najlepsza strategia, ponieważ zmiany po stronie serwera mogą spowodować nieprawidłowe działanie niektórych funkcji.

Główną zaletą JSON Schema jest kompatybilność z różnymi językami programowania, a także dokładność i spójność walidacji.

Schemat JSON obsługuje szeroką gamę przeglądarek i system operacyjny, dlatego aplikacje napisane w JSON nie wymagają dużego wysiłku, aby wszystkie były kompatybilne z przeglądarkami. Podczas opracowywania programiści biorą pod uwagę kilka przeglądarek, chociaż JSON ma już możliwości.

JSON to najskuteczniejszy sposób udostępniania danych dowolnego rozmiaru, w tym audio, wideo i innych multimediów. Wynika to z faktu, że JSON przechowuje dane w tablicach, co ułatwia transmisję danych. W rezultacie JSON jest najlepszym formatem plików dla internetowych interfejsów API i programowania.

Ponieważ interfejsy API stają się coraz bardziej powszechne, logiczne jest założenie, że walidacja i testowanie interfejsów API będą zyskiwać na znaczeniu. Realistyczne jest również oczekiwanie, że JSON prawdopodobnie nie stanie się dużo prostszy w miarę upływu czasu. Oznacza to, że posiadanie schematu danych będzie z biegiem czasu coraz bardziej krytyczne. Ponieważ JSON jest standardowym formatem plików do pracy z interfejsami API, JSON Schema jest dobrym zamiennikiem tych, którzy pracują z interfejsami API.

Google i mit incognito

Google i mit incognito

Google i mit incognito 1 kwietnia 2024 roku Google zgodził się na rozstrzygnięcie pozwu poprzez zniszczenie miliardów rekordów danych zebranych w trybie incognito.

Czytaj więcej »