Typy danych JSON wyjaśnione

JSON obsługuje dokładnie sześć typów danych, co czyni go niezwykle prostym w porównaniu z pełnymi językami programowania. Jednak tych sześć typów jest wystarczających do reprezentowania praktycznie każdej struktury danych.

Ciągi znaków

Ciągi znaków w JSON reprezentują dane tekstowe i są najczęściej używanym typem prymitywnym. Są zawarte w podwójnych cudzysłowach i mogą zawierać dowolne znaki Unicode. Niektóre znaki mają specjalne znaczenie i muszą być eskejpowane odwrotnym ukośnikiem. Znaki białe mają dedykowane sekwencje escape: \n dla nowej linii, \r dla powrotu karetki, \t dla tabulatora. Dowolny znak Unicode może być reprezentowany za pomocą notacji \uXXXX. Ciągi znaków nie mają teoretycznej maksymalnej długości, ale praktyczne limity zależą od parsera. Typowe zastosowania obejmują nazwy, opisy, URL-e i daty w formacie ISO 8601.

Liczby

Liczby JSON reprezentują wartości numeryczne i mogą być liczbami całkowitymi lub dziesiętnymi. W przeciwieństwie do ciągów znaków, liczby nie są zawarte w cudzysłowach. Notacja naukowa jest obsługiwana dla bardzo dużych lub bardzo małych liczb. Liczby JSON mają kilka ograniczeń: brak zer wiodących, brak znaku plusa prefiksu, brak systemu szesnastkowego. Specjalne wartości zmiennoprzecinkowe IEEE NaN i Infinity nie są obsługiwane. Precyzja nie jest gwarantowana dla bardzo dużych liczb całkowitych. JavaScript bezpiecznie reprezentuje liczby całkowite tylko do 2^53 - 1. Dla większych wartości rozważ przechowywanie ich jako ciągów znaków.

Wartości logiczne i Null

Wartości logiczne i null są najprostszymi typami JSON. Wartości logiczne są zapisywane jako małe litery true lub false bez cudzysłowów. Null reprezentuje intencjonalny brak jakiejkolwiek wartości, zapisywany jako małe litery null. Null różni się od brakujących kluczy i od pustych wartości. Pusty ciąg znaków "" lub pusta tablica [] są wartościami, a nie null. Bądź konsekwentny w tym, jak Twoja aplikacja interpretuje null w porównaniu z brakującymi kluczami.

Obiekty i tablice

Obiekty i tablice są typami złożonymi, które dają JSON jego moc. Obiekty modelują encje z nazwanymi właściwościami. Tablice modelują kolekcje, gdzie kolejność ma znaczenie. Zagnieżdżanie umożliwia bogate modelowanie danych. Obiekty mogą zawierać tablice, tablice mogą zawierać obiekty, a obydwa mogą być zagnieżdżane na dowolną głębokość. Podczas modelowania danych pomyśl o tym, jak będzie dostępny. Dla dużych kolekcji rozważ paginację. Relacje mogą być modelowane przez osadzanie lub przez referencję.

Wypróbuj Narzędzie

Formater JSON

Formater JSON

Powiązane Artykuły