JSON5 i JSONC: JSON z komentarzami
Oba dialekty istnieją, bo konfiguracja pisana przez ludzi wymaga komentarzy i przecinków końcowych, ale ich składnia i zasięg ekosystemu się różnią, więc zły wybór zakleszcza łańcuch narzędzi.
JSON5, JSONC, JSON Lines i NDJSON rozwiązują realne potrzeby, takie jak komentarze, przecinki końcowe i strumieniowanie, ale niosą ze sobą własne problemy z zgodnością i wyborem.
Liczba artykułów: 6Oba dialekty istnieją, bo konfiguracja pisana przez ludzi wymaga komentarzy i przecinków końcowych, ale ich składnia i zasięg ekosystemu się różnią, więc zły wybór zakleszcza łańcuch narzędzi.
Jedna wartość JSON w wierszu kupuje możliwość dopisywania, strumieniowanie i izolację uszkodzenia do jednej linii; kosztem jest brak struktury całościowej, więc walidację trzeba wykonywać linia po linii.
RFC 7464 używa separatora 0x1E do strumieniowania tekstów JSON, które można czytać i zapisywać jednocześnie. Omawia reguły, różnice względem NDJSON i implementację dzielenia, a potem parsowania.
Pliki konfiguracyjne wymagają komentarzy, dat i tekstu wieloliniowego, i tu JSON zawodzi. Porównaj JSON, TOML, YAML i CSON oraz zobacz, co konwersja zawsze gubi.
MessagePack, CBOR i BSON kompresują JSON do bajtów. Porównaj koszt bajtowy, obsługę int64 i danych binarnych oraz zobacz wyraźną linię, kiedy przejście ma sens.
Przekazanie całego pliku .jsonl do JSON.parse i dostanie błędu prawie nigdy nie oznacza, że plik jest uszkodzony — oznacza, że strategia odczytu jest błędna. Ten przewodnik obejmuje standardowe sposoby inspekcji i odczytu JSONL linia po linii, komendy konwersji w obie strony z tablicą JSON, tabelę sześciu typów uszkodzonych linii oraz poprawny sposób pobierania NDJSON ze strumieniowych odpowiedzi HTTP.