Formater i walidator JSON
Wklej JSON, aby sprawdzić jego poprawność — błędy są wskazywane z dokładnością do linii i kolumny — a potem sformatuj go do wygodnego czytania albo zminifikuj do przesyłania.
Jak czytać cudzy JSON, nie tracąc przy tym rozumu
Większość JSON-a, z jakim spotykasz się w codziennej pracy, nigdy nie była pomyślana dla ludzkich oczu: odpowiedź API przychodzi jako jedna gigantyczna linia, plik konfiguracyjny został zminifikowany przez proces builda, wpis w logu ma upchnięty w sobie cały ładunek danych. Nawyk, który się opłaca, jest prosty — najpierw wklej, potem czytaj. Gdy JSON jest już sformatowany, wcięcia pokazują Ci kształt danych, zanim jeszcze przeczytasz choć jedną wartość: jak głębokie jest zagnieżdżenie, które fragmenty to tablice powtarzających się rzeczy, a które to pojedyncze ustawienia. Ten rzut oka na strukturę często sam odpowiada na pytanie, bo pole, którego szukałeś, okazuje się siedzieć w zupełnie innym obiekcie, niż zakładałeś. Formatowanie niczego w danych nie zmienia — zmienia się tylko rozmieszczenie białych znaków — dlatego sformatowaną kopię można bezpiecznie wkleić z powrotem tam, gdzie była potrzebna.
Gdy JSON jest poprawny, ale coś wciąż wygląda nie tak
Dwie rzeczy regularnie zbijają ludzi z tropu nawet po udanym sparsowaniu. Pierwsza to JSON w JSON-ie: pole tekstowe, którego wartością jest sam fragment zescapowanego JSON-a, pełen par ukośnik-cudzysłów. To nie jest uszkodzenie danych — jakiś system po prostu zapisał dokument jako tekst wewnątrz innego dokumentu. Skopiuj ten wewnętrzny ciąg znaków osobno i sformatuj go samodzielnie, żeby go przeczytać. Druga rzecz to duże liczby. Sam JSON dopuszcza liczby całkowite dowolnej wielkości, ale JavaScript przechowuje liczby jako 64-bitowe liczby zmiennoprzecinkowe, więc identyfikator dłuższy niż jakieś piętnaście czy szesnaście cyfr może po sparsowaniu po cichu zmienić swoje ostatnie cyfry. Jeśli formatujesz dane i długi numeryczny identyfikator wychodzi subtelnie inny, to właśnie dlatego — i to właśnie powód, dla którego dobrze zaprojektowane API wysyłają długie identyfikatory jako ciągi tekstowe.
Do czego naprawdę służy Minifikuj
Zminifikowany JSON jest dla maszyn i ciasnych przestrzeni: dane wklejone do polecenia curl, wartość wciśnięta w zmienną środowiskową albo pojedynczą kolumnę bazy danych, odpowiedź, która ma być jak najmniejsza podczas przesyłania. Formatowanie i minifikacja są swoimi lustrzanymi odbiciami — możesz przerzucać te same dane między nimi cały dzień i nic poza białymi znakami nigdy się nie zmieni. Uporządkowany sposób pracy wykorzystuje oba: formatuj, żeby czytać i edytować, minifikuj, żeby wysyłać. A jeśli Twoje dane zaczęły życie jako arkusz kalkulacyjny, a nie jako JSON, konwerter CSV na JSON zamienia wiersze w tablicę obiektów — wklejenie jego wyniku tutaj to szybki sposób, by potwierdzić, że się parsuje, zanim zobaczy go Twój kod.
Typowi podejrzani, gdy JSON nie chce się sparsować
JSON jest bardziej restrykcyjny niż JavaScript: klucze muszą być w podwójnych cudzysłowach, po ostatnim elemencie nie może być przecinka, nie ma komentarzy ani pojedynczych cudzysłowów. Tutejszy walidator działa podczas pisania i podaje linię oraz kolumnę pierwszego napotkanego problemu.
Jaka jest różnica między Formatuj a Minifikuj?
Oba dają dokładnie te same dane. Formatuj dodaje wcięcia i podziały wierszy, żeby dało się to wygodnie czytać; Minifikuj usuwa każdy zbędny znak, żeby wynik był jak najmniejszy do przesyłania lub przechowywania.
Czy mój JSON jest gdzieś przesyłany?
Nie — wszystko działa w całości w Twojej przeglądarce, w zwykłym języku JavaScript. Nic nie jest przesyłane, dzięki czemu narzędzie jest bezpieczne także dla danych, których wolisz nie wklejać na przypadkową stronę internetową.
