Czym jest plik JSON, czym go otworzyć i jak go edytować
Podsumowanie: Od „krzaczków” w Notatniku po trzy sposoby otwarcia pliku JSON, a także jak potwierdzić, że po edycji nic się nie zepsuło, i co zrobić, gdy wielki plik nie chce się otworzyć.

Najważniejsze: przed otwarciem pliku JSON potwierdź jego kodowanie i BOM, a następnie sprawdź, czy struktura jest tylko obiektem albo tablicą; po edycji zawsze zweryfikuj go parserem, zamiast oceniać nawiasy i przecinki wzrokiem.
To po prostu plik tekstowy z rozszerzeniem
.json, który otworzy nawet Notatnik. Prawdziwy kłopot to nie „nie otwiera się”, ale to, że po otwarciu nie widać, co się zepsuło.
1. Co naprawdę znajduje się w pliku JSON
Poprawny plik JSON może zawierać tylko jedno z dwóch: obiekt {...} albo tablicę [...]. Nic innego nie jest dozwolone — żadnych deklaracji zmiennych, komentarzy czy funkcji.
{
"name": "order service",
"port": 8080,
"debug": false,
"upstream": ["10.0.0.11", "10.0.0.12"],
"timeout": null
}
Wystarczy rozpoznać strukturalnie trzy rzeczy:
| Co widzisz | Znaczenie | Odpowiednik w programowaniu |
|---|---|---|
Pary klucz-wartość ujęte w { } |
Obiekt; klucze muszą być łańcuchami w cudzysłowach | Map / struct |
Ciąg wartości ujęty w [ ] |
Tablica; typy elementów mogą się różnić | List |
| Sześć typów wartości | Łańcuch, liczba, wartość logiczna, null, obiekt, tablica | Tylko te sześć; bez dat i bez liczb całkowitych |
Rozszerzenie pliku nie determinuje zawartości: package.json, tsconfig.json i composer.json to wszystko ten sam rodzaj rzeczy; różne narzędzia po prostu umówiły się czytać z nich różne klucze.
2. Trzy sposoby otwarcia, dobierane według scenariusza
Tylko szybki rzut oka: otwórz go w przeglądarce. Przeciągnij plik do okna Chrome lub Edge, a przeglądarka wyświetli go tak, jak jest; jeśli zainstalowano rozszerzenie JSON Viewer, zostanie automatycznie sformatowany i uzyska możliwość zwijania.
Konieczność edycji treści: użyj edytora. VS Code, Sublime i Notepad++ mają podświetlanie składni JSON oraz dopasowywanie nawiasów, a Shift + Alt + F w VS Code formatuje dokument. Uwaga: Notatnik w Windows może dopisać BOM przy zapisie, przez co zmiany konfiguracji mogą nie zadziałać; lepiej go unikać.
Nie chcesz nic instalować, chcesz tylko zweryfikować: użyj formatera JSON online. Wklej treść i od razu zobaczysz numery wierszy i kolumn, położenie błędu oraz drzewo z możliwością zwijania; po zakończeniu skopiuj wynik. Dane są przetwarzane lokalnie w przeglądarce i nie są wysyłane na serwer.
Duże pliki (dziesiątki MB lub więcej): nie otwieraj ich na siłę w edytorze. Otwarcie pliku JSON o rozmiarze 100 MB w VS Code zawiesi program tak, że zaczniesz kwestionować własne wybory; najpierw obejrzyj strukturę z wiersza poleceń:
# Look at the first 20 lines to confirm whether it is an array
head -n 20 data.json
# Use jq to list top-level keys without loading the whole file
jq -r 'keys[]' data.json | head
# Count the array length
jq 'length' data.json
3. Co zrobić, gdy dwuklik otwiera krzaczki
Trzy przyczyny, każda obsługiwana inaczej:
- To faktycznie plik binarny (na przykład skompresowane archiwum albo wyeksportowany plik bazy danych z rozszerzeniem
.json). Użyjfile data.json, aby zobaczyć prawdziwy typ; nie zmuszaj systemu do traktowania go jako tekstu. - Kodowanie to nie UTF-8. Chiński tekst zakodowany w GBK jest krzaczkami w środowisku UTF-8. Użyj w edytorze opcji „Otwórz ponownie z kodowaniem”, spróbuj GBK; jeśli wyświetla się poprawnie, zapisz jako UTF-8.
- Plik został zaszyfrowany lub skompresowany. Objawem jest
PK(zip) albo sterta znaków zapytania na początku; takie pliki trzeba najpierw zdekompresować lub odszyfrować.
4. Jak potwierdzić, że po edycji nic się nie zepsuło
JSON nie wybacza: jeden brakujący przecinek, jeden zbędny przecinek albo jeden brakujący cudzysłów i cały plik jest martwy, a zgłaszane położenie błędu często wskazuje następny wiersz. Dlatego po edycji musisz zwalidować plik; nie polegaj na wzroku.
Trzy ryzykowne działania podczas edycji, uporządkowane według częstotliwości sprawiania kłopotów:
| Działanie | Typowa konsekwencja | Jak uniknąć |
|---|---|---|
| Wklejenie bloku konfiguracji | Wprowadza przecinek końcowy lub pełnoekranową interpunkcję | Sformatuj od razu po wklejeniu |
| Ręczne przestawienie kolejności kluczy | Zbędny lub brakujący przecinek | Używaj poleceń przenoszenia wierszy w edytorze; nie pisz ręcznie od nowa |
| Usunięcie ostatniego elementu tablicy | Zostawia ,] |
Po usunięciu sprawdź, czy nawiasy się zgadzają |
Walidacja jest prosta: wklej treść do walidatora online i szukaj czerwonego tekstu albo uruchom jedną linię w wierszu poleceń:
python3 -m json.tool config.json > /dev/null && echo OK
Jeśli wypisze OK, plik jest poprawny. Jeśli chcesz zweryfikować także typy pól (na przykład port musi być liczbą, a name nie może być puste), napisanie JSON Schema jest znacznie pewniejsze niż ludzkie oko.
5. Czym .json różni się od bliskich krewnych
| Rozszerzenie | Różnica | Czy standardowy parser je odczyta |
|---|---|---|
.json |
Standardowy JSON | Tak |
.jsonc |
Dopuszcza komentarze // i /* */ |
Nie; najpierw trzeba usunąć komentarze |
.json5 |
Dopuszcza komentarze, pojedyncze cudzysłowy, klucze bez cudzysłowów, przecinki końcowe | Nie; wymagany jest parser JSON5 |
.jsonl / .ndjson |
Jedna niezależna wartość JSON w wierszu; plik jako całość nie jest poprawnym JSON-em | Nie jako całość; trzeba czytać wiersz po wierszu |
Nie dziw się komentarzom w tsconfig.json; w rzeczywistości jest obsługiwany jako .jsonc. Podaj tę samą treść do JSON.parse i zgłosi błąd. Gdy trzeba przekonwertować między formatami, użyj JSON5 do JSON, aby jednym kliknięciem usunąć komentarze i przecinki końcowe.
6. Kiedy pora zmienić format przechowywania
JSON pasuje do scenariuszy, w których „struktura nie jest ustalona, człowiek musi ją czytać, a dane podróżują między językami”. Jeśli plik przekracza dziesiątki MB, struktura pól jest stabilna i potrzebne są zapytania warunkowe, pozostanie przy JSON-ie to tylko robienie sobie kłopotów — przejdź do SQLite, Parquet albo wczytaj dane do bazy; wydajność odczytu i zapisu różni się o rzędy wielkości. Szczegółowe kompromisy opisano w Parsowanie i strumieniowanie dużego JSON.
FAQ
Jak obejrzeć plik JSON zbyt duży, by go otworzyć?
Nie otwieraj go na siłę w edytorze; otwarcie pliku o rozmiarze 100 MB w VS Code zawiesi program tak, że zaczniesz kwestionować własne wybory. Najpierw obejrzyj strukturę z wiersza poleceń: head -n 20 potwierdza, czy to tablica, jq -r 'keys[]' wypisuje tylko klucze najwyższego poziomu, a jq 'length' liczy długość tablicy. Żadne z tych poleceń nie wczytuje całego pliku.
Dlaczego moje zmiany w Notatniku nie powodują zadziałania konfiguracji?
Notatnik w Windows może dopisać BOM przy zapisie, a plik z BOM nie przechodzi parsowania konfiguracji, więc edytowana treść nigdy nie działa. Zalecenie artykułu to edytory takie jak VS Code, Sublime lub Notepad++, które mają podświetlanie składni JSON i dopasowywanie nawiasów. Jeśli już użyłeś Notatnika, zapisz ponownie jako „UTF-8 bez BOM” i spróbuj jeszcze raz.
Czy mogę potraktować plik JSON jako JSON5 i dodać komentarze?
Nie — standardowy parser nie dopuszcza komentarzy w pliku .json, a JSON.parse natychmiast zgłasza błąd. Komentarze należą do plików .jsonc lub .json5, czytanych przez odpowiedni parser. Pliki takie jak tsconfig.json są w rzeczywistości obsługiwane jako .jsonc; podanie tej samej treści do JSON.parse kończy się niepowodzeniem.