Składnia JSON: Zasady i przykłady
Chociaż JSON jest zaprojektowany tak, aby był prosty, ma ścisłe zasady składni, których należy przestrzegać dokładnie. Pojedynczy źle umieszczony przecinek lub niewłaściwy znak cudzysłowu może sprawić, że cały Twój JSON będzie nieprawidłowy. Ten przewodnik obejmuje wszystkie zasady składni, które musisz znać, aby pisać prawidłowy JSON i szybko identyfikować błędy, gdy się pojawią.
Podstawowe zasady
Składnia JSON opiera się na podzbiorze JavaScript, ale z bardziej rygorystycznymi zasadami, które zapewniają kompatybilność międzyplatformową. Zrozumienie tych zasad jest niezbędne do efektywnej pracy z JSON. Najważniejsza zasada: dokumenty JSON muszą używać podwójnych cudzysłowów dla ciągów znaków, nigdy pojedynczych. Podczas gdy JavaScript pozwala zarówno na 'hello', jak i "hello", JSON akceptuje tylko "hello". Podobnie wszystkie klucze w obiektach JSON muszą być ciągami znaków w podwójnych cudzysłowach. Obiekt JavaScript {name: "Jan"} jest prawidłowym JavaScript, ale nieprawidłowym JSON-em; musi być zapisany jako {"name": "Jan"}. Białe znaki w JSON są elastyczne. Spacje, tabulatory i nowe linie mogą być swobodnie dodawane między tokenami dla czytelności bez wpływu na dane. JSON nie ma koncepcji komentarzy. Końcowe przecinki są surowo zabronione. JSON rozróżnia wielkość liter. Wartości logiczne muszą być małymi literami true i false, nie True i False. Podobnie null musi być małymi literami. Kodowanie musi być UTF-8 (preferowane), UTF-16 lub UTF-32.
Obiekty
Obiekty są najczęściej używaną strukturą JSON. Reprezentują nieuporządkowane kolekcje par klucz-wartość, podobnie do słowników w Pythonie lub hashmap w Javie. Obiekt jest zawarty w nawiasach klamrowych {} i zawiera zero lub więcej par klucz-wartość. Każda para klucz-wartość składa się z klucza (który musi być ciągiem znaków w podwójnych cudzysłowach), następnie dwukropka, a następnie wartości. Wiele par jest oddzielonych przecinkami. Obiekty mogą być zagnieżdżane na dowolną głębokość. W przeciwieństwie do obiektów JavaScript, obiekty JSON nie mają metod ani funkcji — zawierają tylko dane. Kolejność kluczy jest technicznie niezdefiniowana przez specyfikację, chociaż wiele implementacji zachowuje kolejność wstawiania. Duplikaty kluczy są technicznie dozwolone, ale zdecydowanie odradzane. Unikaj ich, aby zapewnić spójne zachowanie między platformami.
Tablice
Tablice w JSON reprezentują uporządkowane listy wartości. W przeciwieństwie do obiektów, które są kolekcjami nazwanych właściwości, tablice są sekwencjami, gdzie pozycja ma znaczenie. Tablica jest zawarta w nawiasach kwadratowych [] i zawiera zero lub więcej wartości oddzielonych przecinkami. Tablice JSON nie wymagają, aby wszystkie elementy były tego samego typu, chociaż w praktyce zazwyczaj będziesz chciał spójnych typów. Zagnieżdżone tablice są prawidłowe i przydatne do reprezentowania danych wielowymiarowych. Kolejność tablicy jest zachowywana — kiedy serializujesz tablicę i parsujesz ją z powrotem, elementy będą w tej samej kolejności.
Typowe błędy składniowe
Nawet doświadczeni programiści popełniają błędy składniowe JSON. Błąd pojedynczych cudzysłowów jest niezwykle powszechny wśród programistów pochodzących z JavaScript. Końcowe przecinki powodują niezliczone błędy parsowania podczas edycji JSON. Niecytowane klucze działają w JavaScript, ale nie w JSON. JSON nie ma składni komentarzy. Używanie wartości undefined lub NaN kończy się niepowodzeniem, ponieważ nie istnieją w JSON. Niedopasowane nawiasy są łatwe do utworzenia w złożonym JSON. Błędy sekwencji escape występują, gdy znaki specjalne w ciągach znaków nie są prawidłowo eskejpowane. Nieprawidłowe formaty liczb, takie jak zera wiodące lub notacja szesnastkowa, powodują subtelne błędy.
Wypróbuj Narzędzie
Formater JSON
Powiązane Artykuły
Czym jest JSON?
Jeśli zaczynasz swoją przygodę z tworzeniem stron internetowych, prawdopodobnie napotkałeś już JSON niezliczoną ilość razy, nawet jeśli nie wiedziałeś, co to jest. JSON, który oznacza JavaScript Object Notation, jest najczęściej używanym formatem do przesyłania danych między aplikacjami. Od tweetów, które czytasz w mediach społecznościowych, po dane pogodowe na Twoim telefonie, JSON działa za kulisami, aby to wszystko było możliwe.
Typy danych JSON
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.