← Wszystkie narzędzia

Konwerter CSV do JSON

Konwertuj CSV do JSON i JSON do CSV bezpośrednio w przeglądarce. Czysto mapuj wiersze i nagłówki, obsługuj pola w cudzysłowach i separatory — dane pozostają lokalne.

CSV i JSON: dwa sposoby przenoszenia tych samych danych

Większość danych tabelarycznych trafia do jednego z dwóch formatów. CSV to ojczysty język arkusza kalkulacyjnego: zwykły plik tekstowy, w którym każdy wiersz to rząd, a przecinki oddzielają kolumny. JSON to język API i aplikacji: strukturalny format tekstowy zbudowany z obiektów (par klucz-wartość) i tablic (uporządkowanych list). Opisują te same informacje w bardzo różnych kształtach, co jest dokładnie powodem, dla którego konwersja między nimi pojawia się tak często. Ta strona wykonuje tę konwersję w obu kierunkach, w całości w Twojej przeglądarce.

CSV błyszczy wszędzie tam, gdzie siatka wydaje się naturalna. Wyeksportuj raport z bazy danych, pobierz listę zamówień lub zapisz arkusz z Excela albo Google Sheets, a niemal zawsze otrzymujesz CSV. Jest kompaktowy, czytelny dla człowieka i każde narzędzie analityczne na świecie może go otworzyć. JSON błyszczy tam, gdzie oprogramowanie rozmawia z oprogramowaniem. REST API wysyłają i odbierają go, pliki konfiguracyjne go używają, a JavaScript czyta go bez żadnej biblioteki parsującej. Gdy musisz przekazać eksport z arkusza do API lub pobrać odpowiedź API do arkusza, tak naprawdę tłumaczysz między tymi dwoma światami.

Świecąca tabela wierszy CSV przekształcająca się w zagnieżdżone obiekty JSON na ciemnogranatowym tle
Płaska tabela CSV składająca się w zagnieżdżone obiekty i tablice JSON.

Jak wiersze i nagłówki stają się obiektami

Mapowanie jest prostsze niż wygląda. Pierwszy wiersz pliku CSV to zazwyczaj wiersz nagłówkowy, a te nazwy nagłówków stają się kluczami w JSON. Każdy kolejny wiersz staje się jednym obiektem, gdzie każda komórka jest sparowana z pasującym nagłówkiem. Cały plik staje się tablicą tych obiektów. Więc CSV z kolumnami name,email,age zamienia się w listę jak [{"name": "Ada", "email": "ada@example.com", "age": "36"}, ...]. W drugą stronę, JSON na CSV, czyta klucze pierwszego obiektu, żeby zbudować wiersz nagłówkowy, a potem zapisuje jeden wiersz na obiekt. To czysta, przewidywalna podróż tam i z powrotem, o ile dane są naprawdę tabelaryczne.

Pułapki warte poznania

CSV wygląda banalnie, ale kryje kilka ostrych krawędzi. Największą są przecinki wewnątrz pola. Jeśli adres zawiera „Berlin, Niemcy", naiwny podział na przecinkach rozerwałby tę pojedynczą wartość na dwie kolumny. Standard CSV obsługuje to, owijając takie pola w cudzysłowy, a cudzysłowy wewnątrz cytowanego pola są podwajane (""). Dobry konwerter respektuje te reguły, żeby dane nie przesunęły się po cichu do innych kolumn. Uważaj też na separator: wiele europejskich eksportów używa średnika zamiast przecinka, bo przecinek jest tam już separatorem dziesiętnym. Tabulatory i pionowe kreski też się pojawiają.

Głębsza różnica to typy. CSV w ogóle nie ma pojęcia typów danych. Wszystko jest tekstem, więc liczba 42, wartość logiczna true i pusta komórka wyglądają jak zwykłe ciągi znaków. JSON natomiast rozróżnia liczby, ciągi, wartości logiczne, null i zagnieżdżone struktury. Konwertując CSV na JSON, wartości trafiają jako ciągi, chyba że narzędzie jest skonfigurowane do interpretowania liczb i wartości logicznych. Konwersja JSON na CSV ma odwrotny problem: zagnieżdżone obiekty i tablice nie mieszczą się porządnie w płaskiej siatce, więc zazwyczaj są spłaszczane lub upraszczane do postaci ciągu w jednej komórce. Wiedza o tym z góry chroni przed zastanawianiem się później, dlaczego kolumna „wygląda źle".

Siatka arkusza kalkulacyjnego przekształcająca się w świecące drzewo nawiasów JSON w kolorze cyjanowym i złotym
Siatka arkusza kalkulacyjnego przekształcająca się w rozgałęzione drzewo nawiasów JSON.

Prawdziwa podróż tam i z powrotem

Oto scenariusz, który pojawia się nieustannie. Kolega przesyła Ci arkusz nowych użytkowników i prosi o załadowanie ich przez wewnętrzne API. API akceptuje tylko JSON. Eksportujesz arkusz do CSV, wklejasz tutaj i otrzymujesz czystą tablicę obiektów gotową do umieszczenia w ładunku żądania. Później API zwraca listę JSON utworzonych rekordów, którą musisz przekazać temu samemu koledze do sprawdzenia. Wklejasz JSON, konwertujesz na CSV, i otwiera się bezpośrednio w jego arkuszu. Żadnych skryptów, żadnych instalacji — tylko dwa szybkie tłumaczenia w środku normalnego przepływu pracy.

Tylko lokalnie, z zasady

Wszystko to działa w Twojej przeglądarce. Twój CSV i JSON są parsowane i konwertowane przez JavaScript na Twoim własnym komputerze, nic nie jest przesyłane na serwer. Ma to znaczenie, bo eksporty często zawierają prawdziwe imiona, adresy e-mail, dane zamówień lub wewnętrzne identyfikatory, których nie powinieneś wklejać do losowej zdalnej usługi. Tutaj dane nigdy nie opuszczają strony. Jeśli chcesz później uporządkować wynik, nasz formater JSON go ładnie sformatuje i zweryfikuje, a resztę naszych konwerterów danych możesz przeglądać w poszukiwaniu powiązanych formatów.

Najczęściej zadawane pytania

Czy moje dane są gdzieś przesyłane?

Nie. Konwersja działa w całości w Twojej przeglądarce za pomocą JavaScript, więc Twój CSV i JSON pozostają na Twoim własnym urządzeniu i nigdy nie są wysyłane na serwer.

Czy konwerter obsługuje przecinki wewnątrz pól?

Tak. Pola zawierające przecinki powinny być owinięte w cudzysłowy w CSV, a parser respektuje te cudzysłowy, żeby wartość pozostała w jednej kolumnie.

Dlaczego moje liczby w JSON pojawiają się jako tekst?

CSV nie ma typów danych, więc każda komórka jest zwykłym tekstem. Wartości stają się ciągami JSON, chyba że zastosowane jest parsowanie liczb i wartości logicznych, bo plik źródłowy nie daje sposobu na odróżnienie liczby od słowa.

Co dzieje się z zagnieżdżonym JSON podczas konwersji na CSV?

Płaska siatka nie może przechowywać zagnieżdżonych struktur, więc zagnieżdżone obiekty i tablice są zazwyczaj spłaszczane lub zapisywane jako jedna wartość upraszczana w jednej komórce.

Czy mogę użyć średnika lub tabulatora zamiast przecinka?

Tak. Wiele eksportów, szczególnie europejskich, używa średników lub tabulatorów jako separatorów, a narzędzie może je odczytywać zamiast standardowego przecinka.

Czy konwertuje w obu kierunkach?

Tak. Możesz zamieniać CSV na JSON i JSON z powrotem na CSV, co sprawia, że podróże tam i z powrotem między arkuszami kalkulacyjnymi a API są proste.