Konwerter JSON na CSV
Zamień tablicę obiektów JSON na plik CSV lub TSV ze spłaszczaniem zagnieżdżeń i separatorem dla polskiego Excela.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Wklej JSON i kliknij „Konwertuj na CSV” (albo Ctrl+Enter). Maksymalnie 1 MB.
Gdy lista rekordów jest wewnątrz obiektu, np. {"data":[…]}, wpisz data. Kolejne poziomy oddziel kropką.
Wynik konwersji
3 kolumny · separator: przecinek · z wierszem nagłówka.
Kolumny
Rozmiar pliku
Zmiana względem JSON
Różnica rozmiaru CSV i wklejonego JSON.
Puste komórki
Każdy obiekt ma komplet pól.
Podgląd tabeli
| id | name | |
|---|---|---|
| 1 | Anna | [email protected] |
| 2 | Jan | [email protected] |
Ściąga: jaki separator CSV wybrać
| Gdzie otworzysz plik | Separator | Liczby dziesiętne | Ustawienie w konwerterze |
|---|---|---|---|
| Excel (polskie ustawienia regionalne) | średnik ; | przecinek: 3999,99 | Preset „Excel PL” |
| Excel (ustawienia angielskie) | przecinek , | kropka: 3999.99 | Ustawienia domyślne |
| Arkusze Google (import) | przecinek , (wykrywany automatycznie) | zależnie od języka arkusza | Ustawienia domyślne |
| LibreOffice Calc | dowolny, wybierany przy imporcie | zależnie od języka | Dowolny separator |
| Python (moduł csv, pandas) | przecinek , | kropka | Ustawienia domyślne |
| Wklejanie do arkusza (Ctrl+V) | tabulator | zależnie od ustawień | Separator „Tabulator”, Kopiuj |
Jak JSON zamienia się w wiersze
Każdy element tablicy to jeden wiersz, a każdy klucz to kolumna (w kolejności pierwszego wystąpienia). Gdy obiekty mają różne pola, brakujące komórki zostają puste. Przy spłaszczaniu {"user":{"city":"Kraków"}} daje kolumnę user.city. Listę wartości łączymy średnikiem: ["dom","kuchnia"] → dom;kuchnia. Pojedynczy obiekt daje jeden wiersz.
Cudzysłowy i znaki specjalne
Komórkę zawierającą separator, cudzysłów lub znak nowej linii ujmujemy w cudzysłów, a cudzysłów w środku podwajamy: say "hi" → "say ""hi""". To zapis zgodny z RFC 4180, który odczytują arkusze kalkulacyjne i biblioteki CSV. Wartość null i brak pola dają pustą komórkę, true i false zostają słowami.
Polski Excel: średnik i przecinek
Przy polskich ustawieniach regionalnych Excel oczekuje średnika między kolumnami i przecinka dziesiętnego. Wybierz przykład „Excel PL” albo separator „Średnik” i opcję przecinka dziesiętnego: 3999.99 zamieni się na 3999,99. Pobrany plik .csv zawiera znacznik BOM UTF-8, dzięki któremu Excel poprawnie pokazuje polskie litery.
Formuły w CSV (CSV injection)
Tekst zaczynający się od =, +, - lub @ arkusz może potraktować jako formułę. Jeśli dane pochodzą od obcych osób (formularze, zamówienia), włącz „Zabezpiecz przed formułami”: przed takim tekstem dodamy apostrof, np. '=SUM(A1). Liczby z JSON, np. -5, zostają bez zmian. Wklejonych danych nie zapisujemy w historii ani w bazie.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćKonwerter JSON na CSV
Konwerter JSON na CSV zamienia tablicę obiektów w tabelę: każdy obiekt to jeden wiersz, każdy klucz to kolumna. Tak wyeksportujesz dane z API lub bazy do arkusza kalkulacyjnego. Narzędzie spłaszcza zagnieżdżone obiekty, poprawnie escapuje wartości, a separator ustawisz na przecinek, średnik, tabulator (TSV) albo kreskę pionową.
Spłaszczanie zagnieżdżeń
{"id":1,"user":{"name":"Anna","city":"Warszawa"}}
Tryb „spłaszcz” tworzy kolumny:
id,user.name,user.city
1,Anna,Warszawa
Escaping
Wartości zawierające separator, cudzysłów lub nową linię są automatycznie ujmowane w cudzysłów podwójny, a wewnętrzne cudzysłowy podwajane – zgodnie ze standardem CSV (RFC 4180). Przykład: say "hi" zapisuje się jako "say ""hi""".
Przykład
[{"id":1,"name":"Anna"},{"id":2,"name":"Jan"}]
Daje:
id,name
1,Anna
2,Jan
Jak działa konwerter JSON na CSV
Konwerter wczytuje tekst JSON (do 1 MB) i sprawdza jego składnię. Jeśli JSON zawiera tablicę obiektów, każdy obiekt staje się wierszem; pojedynczy obiekt daje jeden wiersz. Klucze z wszystkich obiektów są zbierane w kolejności pierwszego wystąpienia, co daje nagłówek CSV (wiersz nagłówka można wyłączyć). Wartości są mapowane na odpowiednie kolumny, a brakujące klucze pozostawiają puste komórki – ich liczbę pokazuje kafelek „Puste komórki”.
Przy zagnieżdżonych obiektach działa tryb spłaszczania. Zamiast osobnej kolumny dla całego obiektu, konwerter tworzy kolumny złożone z kluczy nadrzędnych i podrzędnych połączonych kropką. Na przykład obiekt user z polami name i city daje kolumny user.name oraz user.city. Dzięki temu dane są płaskie i gotowe do arkusza.
Tablice wartości są łączone średnikiem, niezależnie od wybranego separatora kolumn: ["dom","kuchnia"] daje dom;kuchnia. Separator kolumn wybierasz z czterech: przecinek (domyślny), średnik, tabulator albo kreska pionowa. Przy tabulatorze pobierasz plik dane.tsv, w pozostałych przypadkach dane.csv.
Gdy lista rekordów siedzi wewnątrz obiektu, np. {"status":"ok","data":[…]}, wpisz w polu „Ścieżka do tablicy” klucz data; kolejne poziomy oddzielasz kropką, np. wynik.pozycje. Jeśli wkleisz taki obiekt bez ścieżki, dostaniesz jeden wiersz, a narzędzie zaproponuje przyciskiem „Użyj: data” tablice obiektów, które nadają się na wiersze (szuka do dwóch poziomów w głąb).
Przykład krok po kroku
- Przygotuj JSON z dwoma obiektami. Każdy obiekt ma pole id (1 lub 2), tablicę tags (w pierwszym ["a","b"], w drugim pustą) oraz zagnieżdżony obiekt meta z polem x (1 lub 2).
- Wklej JSON do pola tekstowego. Ustaw separator CSV na przecinek. Zostaw włączoną opcję spłaszczania zagnieżdżeń.
- Konwerter analizuje obiekty. Zbiera klucze: id, tags, meta.x. To daje trzy kolumny.
- Dla pierwszego obiektu wartości to: 1, a;b (tablica rozdzielona średnikiem), 1. Dla drugiego: 2, pusta wartość (pusta tablica), 2.
- Wynikowy CSV ma nagłówek id,tags,meta.x oraz dwa wiersze: 1,a;b,1 i 2,,2. Łącznie trzy kolumny i dwa wiersze danych.
Tabela referencyjna zachowań konwertera
| Sytuacja w JSON | Wynik w CSV | Uwagi |
|---|---|---|
| Obiekt zagnieżdżony | Kolumna z kropką, np. user.name | Przy włączonym spłaszczaniu |
| Obiekt lub tablica bez spłaszczania | Tekst JSON w jednej komórce | Np. {"name":"Anna"} |
| Tablica wartości | Lista rozdzielona średnikami, np. a;b;c | Separator tablic jest stały |
| Tablica obiektów | Każdy element jako JSON, łączone średnikiem | Np. {"a":1};{"a":2} |
| Pusta tablica | Pusta komórka | Kolumna zostaje |
| Wartość z separatorem | Ujęta w cudzysłów podwójny | Zgodnie z RFC 4180 |
| Wartość z cudzysłowem | Wewnętrzne cudzysłowy są podwajane | Zgodnie z RFC 4180 |
| Wartość z nową linią | Ujęta w cudzysłów podwójny | Nowa linia pozostaje w komórce |
| Brak klucza w obiekcie | Pusta komórka | Kolejność kolumn z pierwszego wystąpienia |
| Liczba zmiennoprzecinkowa | Kropka dziesiętna: 3999.99 | Opcja „Przecinek dziesiętny” daje 3999,99 |
| true / false | Słowa true i false | Bez zamiany na 1/0 |
| Wartość null | Pusta komórka | Nie jest zapisywane jako tekst |
Praktyczne wskazówki
- Sprawdź separator w arkuszu – polski Excel domyślnie używa średnika między kolumnami i przecinka dziesiętnego. Jeśli otworzysz CSV z przecinkiem, wszystko może trafić do jednej kolumny. Wybierz przykład „Excel PL” albo ustaw separator „Średnik” i włącz przecinek dziesiętny.
- Włącz spłaszczanie dla zagnieżdżeń – bez tego obiekty zagnieżdżone zostaną zapisane jako tekst JSON w jednej komórce. Spłaszczanie tworzy czytelne kolumny z kropką, np. user.name.
- Pamiętaj o tablicach – tablice są łączone średnikami. Jeśli w Twoich danych tablica pełni rolę wielokrotnych wartości, rozdziel je po konwersji w arkuszu (w Excelu: Dane → Tekst jako kolumny, separator średnik).
- Ustal kolejność kolumn przed eksportem – konwerter zbiera klucze w kolejności pierwszego wystąpienia. Jeśli zależy Ci na konkretnej kolejności, ułóż klucze w pierwszym obiekcie JSON lub przestaw kolumny w arkuszu po konwersji.
- Wklejasz zamiast pobierać – ustaw separator „Tabulator” i użyj przycisku „Kopiuj”. Po Ctrl+V w Excelu lub Arkuszach Google dane same rozłożą się na kolumny.
- Dane od obcych osób – przy eksporcie formularzy czy zamówień włącz „Zabezpiecz przed formułami”. Tekst zaczynający się od =, +, - lub @ dostanie apostrof na początku, więc arkusz nie wykona go jako formuły.
Ograniczenia i czynniki zaburzające wynik
- Błędny JSON zatrzymuje konwersję – narzędzie sprawdza składnię i przy błędzie podaje linię, kolumnę i przyczynę, np. przecinek przed nawiasem }, apostrof zamiast cudzysłowu albo niezamknięty tekst. Pod komunikatem widać fragment linii ze znacznikiem ^ w miejscu błędu.
- Limit 1 MB – tyle tekstu JSON przyjmuje jedna konwersja. Większy plik podziel na części i połącz pliki CSV w arkuszu.
- Nie scala duplikatów – jeśli ten sam klucz pojawia się w różnych obiektach z różnymi wartościami, konwerter po prostu umieszcza je w jednej kolumnie. Nie wykonuje agregacji ani scalania.
- Nie zmienia typów danych – liczby, teksty i wartości logiczne są zapisywane tak, jak występują w JSON (jedyny wyjątek to opcjonalny przecinek dziesiętny). Arkusz może je zinterpretować inaczej, np. długi numer jako notację naukową.
- Nie obsługuje JSON Lines – format z wieloma obiektami w osobnych liniach (JSON Lines) kończy się błędem „nadmiarowe znaki po zakończeniu danych”. Ujmij obiekty w [ ] i rozdziel je przecinkami.
Zastosowania konwertera JSON na CSV
- Eksport z API do raportu – gdy endpoint zwraca tablicę rekordów w polu data lub items, wpisz ten klucz w polu ścieżki albo kliknij podpowiedź pod wynikiem. Metadane z koperty odpowiedzi (status, paginacja) nie trafią wtedy do arkusza.
- Przygotowanie zamówień i pozycji – gdy JSON zawiera tablicę pozycji wewnątrz zamówienia, zdecyduj, czy chcesz jeden wiersz na zamówienie, czy osobne wiersze dla pozycji. W pierwszym przypadku tablica trafi do jednej komórki, w drugim wyodrębnij pozycje przed konwersją.
- Migracja danych z dokumentów NoSQL – dokumenty mogą mieć różne pola, więc przed eksportem ujednolić schemat albo wybierz wspólny podzbiór kluczy. Sprawdź też, czy nazwy pól nie zawierają kropek, bo spłaszczanie używa kropki jako separatora.
- Audyt uprawnień i ról – dane z API często mają tablice ról lub uprawnień, które trafiają do jednej komórki jako lista rozdzielona średnikiem. Jeśli same wartości zawierają średnik, późniejszy podział tekstu w arkuszu się rozjedzie; zamień taki znak w JSON przed konwersją.
- Testowanie integracji i porównywanie odpowiedzi – konwersja do CSV ułatwia szybkie porównanie dwóch odpowiedzi API w arkuszu. Sortuj wiersze po stabilnym polu, bo kolejność obiektów w JSON może się zmieniać i dawać fałszywe różnice.
Najczęstsze błędy przy konwersji JSON na CSV
Najczęstszy błąd to traktowanie każdego JSON jak prostej tablicy obiektów. Gdy dane siedzą w obiekcie nadrzędnym, wynik ma jeden wiersz z całą listą w jednej komórce. Wpisz wtedy ścieżkę do właściwej tablicy (np. data) albo użyj podpowiedzi „Użyj: …”. Przy kilku zagnieżdżonych tablicach wybierz tę, której elementy mają być wierszami.
Drugi błąd to ignorowanie typów przy imporcie do arkusza. Kody, numery telefonów i identyfikatory mogą stracić wiodące zera albo zostać zamienione na notację naukową, a daty mogą zostać przekręcone. Zaimportuj CSV z jawnym typem tekstowym dla takich kolumn. Uważaj też na przecinek dziesiętny: przy separatorze przecinek wartość 3999,99 zostanie ujęta w cudzysłów (1,Laptop,"3999,99"), co jest poprawne, ale mniej czytelne. Z przecinkiem dziesiętnym lepiej łączyć średnik.
Najczęstsze pytania
Dlaczego Excel nie dzieli kolumn?
Polski Excel oczekuje średnika. Zmień separator na średnik (albo wybierz przykład „Excel PL”) lub użyj importu z ręcznym ustawieniem separatora.
Czy wklejony JSON jest gdzieś zapisywany?
Nie. Dane są przesyłane na serwer tylko do konwersji i nie trafiają do bazy. W historii narzędzia zostaje wyłącznie informacja o formacie (CSV lub TSV) i liczbie wierszy.
Czy mogę konwertować duże pliki JSON?
Jedna konwersja przyjmuje do 1 MB tekstu JSON. Większy plik podziel na kilka tablic i przekonwertuj je osobno.
Czy konwerter sam rozbije tablicę pozycji na osobne wiersze?
Tylko wtedy, gdy wskażesz ją ścieżką, np. zamowienie.pozycje – wtedy każda pozycja to wiersz. Tablica pozycji wewnątrz każdego z wielu rekordów trafia do jednej komórki; aby dostać osobne wiersze, przenieś pozycje na główny poziom JSON.
Czy mogę wyeksportować tylko wybrane pola?
Konwerter tworzy kolumny na podstawie kluczy obecnych w danych, więc nie ma osobnego wyboru pól. Najprościej usunąć niepotrzebne klucze z JSON przed wklejeniem albo ukryć kolumny w arkuszu po konwersji.
Co zrobić, gdy w CSV brakuje polskich znaków?
Pobrany plik .csv ma znacznik BOM UTF-8, więc Excel powinien od razu pokazać polskie litery. Przy pliku .tsv albo ręcznym imporcie wybierz kodowanie UTF-8 (65001).