logo
GeekFormat

JSON Formatter

Brak zawartości

preview.json
Gotowe

Darmowe narzędzie online JSON Formatter. Obsługuje upiększanie, walidację, minifikację i wizualną edycję drzewa JSON. Wbudowane wykrywanie błędów składni i automatyczna naprawa. Obsługuje konwersję kodu do 13 języków programowania (TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML). Idealne do debugowania API, inspekcji konfiguracji i czytania logów.

Powiązane Rekomendacje

Przypadki użycia

  • Upiększanie jednolinijkowego JSON z odpowiedzi API do czytelnej struktury dla łatwiejszego rozwiązywania problemów
  • Formatowanie plików konfiguracyjnych i pól logów przed dalszym przetwarzaniem
  • Szybkie sprawdzanie, czy JSON jest prawidłowy i minifikacja rozmiaru podczas tworzenia i debugowania
  • Konwertowanie JSON na interfejsy TypeScript, klasy Java, słowniki Python lub inne formaty kodu
  • Sortowanie według nazw kluczy przed porównywaniem dwóch odpowiedzi API pole po polu
  • Mapowanie złożonych zagnieżdżonych struktur z API zewnętrznych za pomocą widoku drzewa lub mapy myśli dla szybkiego zrozumienia hierarchii
  • Rozwijanie zminifikowanych logów analitycznych i danych Webhook do czytania, aby zlokalizować nieprawidłowe pola
  • Formatowanie kompaktowego JSON z lokalnych zmiennych środowiskowych lub konfiguracji do edycji, a następnie minifikacja do zapisania z powrotem

Funkcje

  • Intuicyjne Upiększanie JSON: Szybko organizuje jednolinijkowe dane w czytelną hierarchiczną strukturę, z przełączalnym wcięciem 2/4-spacjowym lub Tab
  • Obsługa Walidacji i Minifikacji: Wykrywanie błędów składni w czasie rzeczywistym z precyzyjnymi wskazówkami lokalizacji, minifikacja jednym kliknięciem do najbardziej kompaktowej jednolinijkowej postaci
  • Konwersja Kodu do 13 Języków Programowania: Generowanie jednym kliknięciem dla TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML
  • Wizualna Edycja w Widoku Drzewa JSON: Zwijanie/rozwijanie węzłów, intuicyjne przeglądanie i modyfikowanie głęboko zagnieżdżonych struktur
  • Widok Mapy Myśli: Przedstawia relacje rodzic-dziecko obiektów/tablic za pomocą połączonych węzłów, idealny do mapowania złożonych struktur
  • Sortowanie Kluczy: Rearranguje klucze obiektów w rosnącej/malejącej kolejności alfabetycznej, wygodne do porównywania diff i standaryzacji kolejności pól
  • Płynna Obsługa Dużych Plików: Wirtualne przewijanie + parsowanie w tle Web Worker, pliki JSON o wielkości kilku MB bez opóźnień
  • Prywatność i Bezpieczeństwo: Całkowicie lokalne przetwarzanie w przeglądarce, zerowe przesyłanie danych, bezpieczne do przetwarzania odpowiedzi zawierających tajemnice
  • Wygodne Operacje: Przesyłanie/pobieranie plików, kopiowanie jednym kliknięciem, cofanie historii, udostępnianie przez URL — wszystko w zestawie

Jak Używać

  1. Wklej zawartość JSON lub prześlij plik JSON
  2. Wybierz tryb Upiększanie, Minifikacja lub Walidacja; możesz także przełączyć się na Widok Drzewa/Mapę Myśli do wizualnego przeglądania
  3. Przejrzyj sformatowaną hierarchiczną strukturę i komunikaty o błędach; w razie potrzeby przełącz się na Konwersję Kodu, aby wygenerować struktury języka docelowego
  4. Skopiuj przetworzoną zawartość, pobierz plik lub wygeneruj łącze do udostępnienia

Często Zadawane Pytania

Jak szybko sformatować jednolinijkowy JSON do czytelnej struktury?

Wklej zawartość JSON do edytora, aby natychmiast ją upiększyć. Świetne do przeglądania odpowiedzi API, plików konfiguracyjnych i pól logów. Narzędzie automatycznie dodaje wcięcia i końce linii, organizując kompaktowe dane w przejrzystą hierarchiczną strukturę. Domyślnie używa 2-spacjowego wcięcia; możesz także zmienić rozmiar wcięcia na pasku narzędzi.

Jaka jest różnica między JSON Formatter a Naprawą JSON?

JSON Formatter jest bardziej odpowiedni dla treści, które są już prawidłowe, ale trudne do odczytania. Naprawa JSON jest bardziej odpowiednia do naprawiania nieprawidłowych struktur, takich jak błędy, brakujące cudzysłowy i końcowe przecinki. Jeśli formatowanie zgłasza błąd, zalecamy najpierw wykonanie Naprawy JSON. Krótko mówiąc: formatowanie tylko dostosowuje układ bez zmiany zawartości; naprawa próbuje uzupełnić brakujące cudzysłowy/nawiasy i usunąć dodatkowe przecinki, aby ponownie stał się prawidłowym JSON.

Dlaczego formatowanie JSON zgłasza błąd?

Zazwyczaj dlatego, że zawartość nie jest prawidłowym JSON — na przykład zawiera komentarze, pojedyncze cudzysłowy, końcowe przecinki lub niezamknięte nawiasy. Specyfikacja JSON (RFC 8259) wymaga, aby klucze używały podwójnych cudzysłowów, ciągi znaków nie mogą używać pojedynczych cudzysłowów, po ostatnim elemencie nie może być przecinka, a komentarze // lub /* */ nie są dozwolone. W takim przypadku lepiej najpierw wykonać Naprawę JSON, a następnie sformatować.

Czy nadaje się do debugowania API i przeglądania odpowiedzi logów?

Absolutnie. Odpowiedzi API, dane Webhook, logi analityczne i fragmenty konfiguracji często wymagają formatowania przed rozwiązywaniem problemów. Narzędzie obsługuje również wizualną edycję w widoku drzewa JSON, widok mapy myśli i konwersję kodu do 13 języków programowania, pomagając szybko zrozumieć struktury danych.

Czy mogę przekonwertować JSON na interfejsy TypeScript lub klasy Java?

Tak. Narzędzie obsługuje konwersję JSON do TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML — łącznie 13 formatów. Generowanie odpowiednich struktur kodu jednym kliknięciem, idealne do szybkiego generowania modeli danych frontendowych i backendowych z odpowiedzi API.

Czy sformatowane dane JSON zostaną przesłane na serwer?

Nie. Całe formatowanie, walidacja, minifikacja i konwersja kodu działa w pełni lokalnie w Twojej przeglądarce. Dane nigdy nie są przesyłane na żaden serwer. Jest bezpieczne nawet podczas przetwarzania odpowiedzi API zawierających tajemnice, tokeny lub prywatność użytkowników. Dane są usuwane po zamknięciu strony.

Czy może obsługiwać duże pliki JSON?

Tak. Narzędzie używa renderowania z wirtualnym przewijaniem i parsowania w tle Web Worker. Pliki JSON o wielkości kilku megabajtów mogą być płynnie formatowane i przeglądane bez zawieszania strony. W przypadku bardzo dużych plików zalecamy bezpośrednie przesłanie pliku JSON zamiast wklejania, dla bardziej stabilnej wydajności.

Do czego służy Minifikacja JSON?

Minifikacja usuwa wszystkie niepotrzebne spacje i końce linii z JSON, dając najbardziej kompaktowy jednolinijkowy wynik. Znacząco zmniejsza rozmiar, oszczędza pasmo i pamięć masową, i jest powszechnie używana do transmisji API, zapisywania konfiguracji, osadzania w kodzie lub jako zmienne środowiskowe. Zminifikowany JSON jest semantycznie identyczny ze sformatowanym JSON; po prostu nie jest czytelny dla człowieka.

Co to są Widok Drzewa JSON i Widok Mapy Myśli?

Widok Drzewa renderuje JSON jako zwijalną hierarchiczną strukturę drzewa, obsługując rozwijanie/zwijanie węzłów i wizualną edycję pól, odpowiedni do przeglądania głęboko zagnieżdżonych danych. Widok Mapy Myśli przedstawia strukturę jako połączone węzły, wizualnie pokazując relacje rodzic-dziecko między obiektami i tablicami, odpowiedni do mapowania złożonych struktur danych lub prowadzenia prezentacji.

Czy po sformatowaniu mogę sortować według nazw kluczy?

Tak. Narzędzie zapewnia funkcję sortowania kluczy, która obsługuje rearrangowanie kluczy obiektów w rosnącej lub malejącej kolejności alfabetycznej, ułatwiając porównywanie różnic między dwoma JSON, standaryzację kolejności pól w plikach konfiguracyjnych lub wyświetlanie pól API w stałej kolejności do Code Review.

Czy mogę udostępniać sformatowane wyniki kolegom?

Tak. Narzędzie obsługuje kompresję i kodowanie bieżącej zawartości JSON w adres URL w celu wygenerowania łącza do udostępnienia. Odbiorcy mogą otworzyć łącze, aby zobaczyć te same dane bez przesyłania na serwer, świetne do szybkiej współpracy przy rozwiązywaniu problemów z API lub odtwarzaniu scenariuszy danych.

O JSON i Formatowaniu JSON

JSON (JavaScript Object Notation) to lekki format wymiany danych, który używa par klucz-wartość i tablic do reprezentowania danych. Ze względu na swoją prostotę, czytelność i wielojęzyczność, stał się de facto standardem dla Web API, plików konfiguracyjnych, logów i transmisji danych frontend-backend. JSON ma tylko sześć podstawowych typów wartości: ciąg znaków, liczba, boolean, null, obiekt i tablica. Jego reguły składni są wspólnie definiowane przez RFC 8259 i ECMA-404.

Formatowanie JSON (nazywane również upiększaniem JSON) to proces dodawania odpowiednich wcięć i końców linii do kompaktowego JSON bez zmiany zawartości danych, organizując go w hierarchiczną strukturę, która jest łatwa do odczytania przez ludzi. JSON w odpowiedziach API, logach i magazynie jest często skompresowany do jednej linii, co sprawia, że bardzo trudno go bezpośrednio odczytać. Po sformatowaniu możesz wyraźnie zobaczyć zagnieżdżenia obiektów, elementy tablic i wartość każdego pola.

Odwrotną operacją do formatowania jest minifikacja JSON, która usuwa wszystkie nieistotne białe znaki, przekształcając JSON z powrotem do najbardziej kompaktowej jednolinijkowej postaci w celu zmniejszenia rozmiaru transmisji. Formatowanie i minifikacja to para odwracalnych operacji; żadna z nich nie zmienia semantyki JSON, wpływając tylko na czytelność i rozmiar.

Walidacja JSON sprawdza, czy fragment tekstu jest zgodny z regułami składni JSON. Typowe nieprawidłowe wzorce to: używanie pojedynczych cudzysłowów zamiast podwójnych, klucze bez cudzysłowów, końcowe przecinki po ostatnim elemencie, zawieranie komentarzy // lub /* */ oraz nieprawidłowo zamknięte nawiasy lub cudzysłowy. Żadne z tych nie są prawidłowym JSON, a formatowanie zgłosi błędy — w takim przypadku powinieneś najpierw użyć narzędzia Naprawa JSON, a następnie sformatować.

Opierając się na formatowaniu, to narzędzie zapewnia również Widok Drzewa, Widok Mapy Myśli i konwersję kodu do 13 języków programowania: możesz zwinąć JSON do wizualnej hierarchicznej struktury drzewa, aby przeglądać głębokie struktury, lub jednym kliknięciem przekonwertować JSON z odpowiedzi API na interfejsy TypeScript, klasy Java, słowniki Python lub instrukcje tworzenia tabel bazodanowych do bezpośredniego użycia w tworzeniu oprogramowania. Całe przetwarzanie odbywa się lokalnie w przeglądarce; dane nigdy nie są przesyłane na serwery.

Szybka Referencja Typów Danych JSON

JSON ma tylko sześć typów wartości. Zrozumienie ich pomaga szybko określić, czy dane są prawidłowe i jak mapować je na typy języków programowania.

TypPrzykładOpis
string"hello"Ciąg znaków, musi używać podwójnych cudzysłowów, obsługuje znaki eskejpne i kodowanie Unicode \uXXXX.
number25 / 3.14 / -1e5Liczba, obsługuje liczby całkowite, dziesiętne i notację naukową; parsowana jako liczba zmiennoprzecinkowa podwójnej precyzji, bez rozróżnienia na całkowite i zmiennoprzecinkowe.
booleantrue / falseWartość logiczna, może być tylko małymi literami true lub false.
nullnullWartość null, oznaczająca brak danych; musi być małymi literami, inna niż pusty ciąg znaków lub 0.
object{"k": "v"}Obiekt, zbiór par klucz-wartość opakowany w nawiasy klamrowe; klucze muszą być ciągami w podwójnych cudzysłowach.
array[1, 2, 3]Tablica, uporządkowana lista wartości opakowana w nawiasy kwadratowe; elementy mogą być różnych typów.

Tabela Znaków Eskejpnych Ciągów JSON

Następujące znaki w ciągach JSON muszą być eskejpowane ukośnikiem wstecznym; w przeciwnym razie parsowanie zakończy się niepowodzeniem.

EskejpZnaczenie
\"Podwójny cudzysłów
\\Ukośnik wsteczny
\/Ukośnik prawy (opcjonalna eskejpacja)
\nZnak nowej linii
\rZnak powrotu karetki
\tTabulator
\bZnak powrotu (backspace)
\fZnak wysuwu strony
\uXXXXZnak Unicode reprezentowany przez cztery cyfry szesnastkowe

Referencja Typowych Nieprawidłowych Wzorców

Poniżej wymieniono powszechnie spotykane nieprawidłowe wzorce JSON i ich prawidłowe formy, do wglądu gdy formatowanie zgłasza błędy.

NieprawidłowePrawidłoweUwaga
{name: "a"}{"name": "a"}Klucze muszą używać podwójnych cudzysłowów
{'name': 'a'}{"name": "a"}Ciągi znaków muszą używać podwójnych cudzysłowów, nie pojedynczych
{"a": 1,}{"a": 1}Końcowe przecinki nie są dozwolone
{"a": 1} // comment{"a": 1}JSON nie obsługuje komentarzy
{"a": undefined}{"a": null}Nie ma undefined; użyj null dla wartości null
{"a": .5}{"a": 0.5}Liczby dziesiętne muszą mieć część całkowitą 0

Code Examples

JavaScript: Formatowanie JSON za pomocą JSON.stringify

javascript

Trzeci parametr wbudowanego w przeglądarkę i Node.js JSON.stringify określa wcięcie, co jest najczęstszą programistyczną metodą formatowania JSON.

const data = { name: '张三', age: 25, tags: ['a', 'b'] };

// Upiększanie: trzeci parametr to liczba spacji wcięcia (można też przekazać '\t' dla Tab)
const pretty = JSON.stringify(data, null, 2);
console.log(pretty);

// Minifikacja: pominięcie trzeciego parametru daje najbardziej kompaktową jednolinijkową postać
const mini = JSON.stringify(data);
console.log(mini); // {"name":"张三","age":25,"tags":["a","b"]}

// Parsowanie ciągu znaków na obiekt (waliduje składnię, rzuca SyntaxError jeśli nieprawidłowy)
const obj = JSON.parse(pretty);

Python: Formatowanie za pomocą modułu json

python

Standardowa biblioteka Pythona json używa parametrów indent i ensure_ascii do kontrolowania wcięcia i wyświetlania chińskich znaków.

import json

data = {"name": "张三", "age": 25, "tags": ["a", "b"]}

# Upiększone wyjście, indent określa wcięcie, ensure_ascii=False zachowuje chińskie znaki
pretty = json.dumps(data, indent=2, ensure_ascii=False)
print(pretty)

# Zminifikowane wyjście: użyj najbardziej kompaktowych separatorów
mini = json.dumps(data, separators=(",", ":"), ensure_ascii=False)
print(mini)

# Parsowanie ciągu znaków (rzuca json.JSONDecodeError jeśli nieprawidłowy)
obj = json.loads(pretty)

Wiersz poleceń: Formatowanie JSON za pomocą jq

bash

jq to potężne narzędzie wiersza poleceń do przetwarzania JSON, umożliwiające szybkie upiększanie, minifikację i ekstrakcję pól.

# Upiększanie (domyślne 2-spacjowe wcięcie)
cat data.json | jq '.'

# Minifikacja do jednolinijkowej postaci
cat data.json | jq -c '.'

# Ekstrakcja określonego pola
cat data.json | jq '.user.name'

# Bezpośrednie potokowanie wyników curl do upiększenia
curl -s https://api.example.com/user | jq '.'

Privacy & Security

Całe formatowanie, walidacja, minifikacja i konwersja kodu JSON w tym narzędziu działa w pełni lokalnie w Twojej przeglądarce. Dane nigdy nie są przesyłane na żaden serwer, ani rejestrowane czy buforowane zdalnie. Jest bezpieczne nawet podczas przetwarzania odpowiedzi API zawierających tajemnice, tokeny lub informacje o użytkownikach. Dane są usuwane po zamknięciu lub odświeżeniu strony.

Authoritative References

Troubleshooting

Unexpected token ... w JSON (nieoczekiwany znak / błąd składni)

Najczęściej spowodowane przez pojedyncze cudzysłowy, klucze bez podwójnych cudzysłowów lub zawieranie komentarzy // lub /* */. Specyfikacja JSON wymaga, aby wszystkie ciągi znaków i klucze używały podwójnych cudzysłowów, a komentarze nie są obsługiwane. Przełącz się na podwójne cudzysłowy i usuń komentarze, lub najpierw użyj narzędzia Naprawa JSON.

Unexpected end of JSON input (zawartość nieoczekiwanie się zakończyła)

Zazwyczaj spowodowane przez nieprawidłowo zamknięte nawiasy {} lub [] lub cudzysłowy, co skutkuje niekompletnym JSON. Sprawdź, czy struktury są poprawnie sparowane i zamknięte. Podczas wklejania odpowiedzi API mogłeś skopiować tylko częściową zawartość — upewnij się, że kopiujesz całkowicie.

Końcowy przecinek powodujący błędy (Trailing comma)

JSON nie dopuszcza przecinków po ostatnim elemencie obiektu lub tablicy; na przykład {"a":1,} lub [1,2,] są nieprawidłowe. Usuń dodatkowy przecinek. Obiekty JavaScript dopuszczają końcowe przecinki, ale JSON nie — zachowaj szczególną ostrożność podczas kopiowania z kodu.

Chińskie lub specjalne znaki wyświetlane jako \uXXXX

Jest to notacja unikodowej eskejpacji JSON, która jest sama w sobie prawidłowa i nadal może być normalnie parsowana po sformatowaniu. Jeśli wolisz bezpośrednio wyświetlać chińskie znaki, wyłącz eskejpację po stronie generującej (np. ensure_ascii=False w Pythonie, wyłączenie eskejpacji HTML w Go).

Utrata precyzji dużych liczb (np. ID staje się notacją naukową lub końcowymi zerami)

Liczby JSON są parsowane jako liczby zmiennoprzecinkowe podwójnej precyzji IEEE 754. Liczby całkowite przekraczające 2^53 (np. ID płatka śniegu, numery zamówień) tracą precyzję. Rozwiązaniem jest opakowanie dużych liczb całkowitych jako ciągi znaków podczas transmisji, tj. "id": "9007199254740993", aby uniknąć parsowania ich jako liczb.

Chcę przekonwertować sformatowany JSON z powrotem na jedną linię

Po prostu przełącz się na „Minifikacja”, aby przekonwertować upiększony wielowierszowy JSON z powrotem na najbardziej kompaktową jednolinijkową postać do transmisji API, zapisywania konfiguracji lub osadzania w kodzie. Minifikacja i upiększanie to operacje odwrotne i nie zmieniają zawartości danych.