Skip to main content

Konwertuj między formatami JSON i CSV.

Wszystkie obliczenia wykonywane są lokalnie w przeglądarce. Dane nie są wysyłane na serwer.

Wyniki mają charakter informacyjny. Potwierdź je w innych źródłach.

Konwersja między JSON a CSV

JSON się zagnieżdża, CSV jest płaski. Konwersja jest łatwa, gdy dane to zwykła tablica obiektów o tych samych kluczach, i stratna w chwili, gdy nią nie są. Wiedza o tym, gdzie następuje strata, to większość umiejętności.

Jak to działa

  • JSON → CSV: bierze tablicę obiektów, jako wiersz nagłówka używa sumy wszystkich kluczy i zapisuje po jednym wierszu na obiekt.
  • CSV → JSON: traktuje pierwszy wiersz jako nagłówki i tworzy tablicę obiektów, w której każda wartość jest napisem, chyba że włączysz rozpoznawanie typów.
  • Cytuje każde pole zawierające przecinek, cudzysłów lub znak nowej linii i podwaja cudzysłowy wewnętrzne, zgodnie z RFC 4180.
zasady cytowania CSV (RFC 4180)
  zawiera , " lub nową linię → otocz pole cudzysłowami
  zawiera "                  → podwój: "  staje się ""

  Kowalski, Jan  →  "Kowalski, Jan"
  rura 5"        →  "rura 5"""

Przykład z liczbami

Dwa rekordy, z których drugi ma pole nieobecne w pierwszym, oraz wartość z przecinkiem.

  1. [{"name":"Ada","city":"Londyn"},{"name":"Kowalski, Jan","city":"Paryż","role":"dev"}]
  2. suma kluczy → name, city, role
  3. wiersz 1 → Ada,Londyn, (role jest puste, a nie pominięte)
  4. wiersz 2 → "Kowalski, Jan",Paryż,dev

Nagłówek niesie wszystkie trzy kolumny, a brakujące role staje się pustą komórką. Przecinek w "Kowalski, Jan" wymusza cytowanie — bez niego wiersz po cichu zyskałby kolumnę.

Jak czytać wynik

  • Zagnieżdżone obiekty i tablice nie mają odpowiednika w CSV. Albo spłaszcza się je do nazw kolumn z kropką (address.city), albo serializuje z powrotem do napisu JSON w jednej komórce. Zdecyduj przed konwersją, bo droga powrotna nie jest automatyczna.
  • CSV nie ma typów. Wszystko wraca jako napis, a wiodące zero w kodzie pocztowym czy indeksie towaru zniszczy arkusz, który uzna kolumnę za liczbową.
  • Excel wymaga znacznika kolejności bajtów UTF-8, żeby poprawnie pokazać znaki diakrytyczne. Bez niego polskie, francuskie czy hiszpańskie nazwiska przyjdą pokaleczone.
  • Znaki końca linii się różnią: RFC 4180 przewiduje CRLF, a narzędzia uniksowe generują LF. Większość parserów przyjmuje oba, część nie.

Częste pytania

Dlaczego zniknęły moje wiodące zera?
Sprawił to arkusz, a nie konwerter. Excel i Arkusze rozpoznają typy przy otwarciu i traktują 00123 jak liczbę 123. Zaimportuj kolumnę wprost jako tekst albo poprzedź wartości apostrofem, żeby je zachować.
Jak obsługiwane są pola zagnieżdżone?
To narzędzie spłaszcza jeden poziom do nagłówków z kropką, a wszystko głębsze serializuje jako tekst JSON w komórce. Jeśli dane są głęboko zagnieżdżone, CSV jest złym formatem docelowym — konwersja technicznie się powiedzie i będzie bezużyteczna.