Konwerter JSON ⇄ CSV
Działa w całości w Twojej przeglądarce. Twoje pliki i dane nigdy nie opuszczają Twojego urządzenia.
O tym narzędziu
Wklej JSON, żeby otrzymać go jako CSV, albo wklej CSV, żeby zamienić go z powrotem na JSON. Tablica obiektów JSON staje się wierszami z nagłówkiem, a zagnieżdżone pola zostają spłaszczone do kolumn zapisanych notacją kropkową, na przykład address.city. W drugą stronę, nagłówki z kropkami są odbudowywane z powrotem w zagnieżdżone obiekty, a parser sam wykrywa separator albo używa tego, który wybierzesz.
Jak konwersja radzi sobie z danymi zagnieżdżonymi?
JSON często zagnieżdża obiekty w obiektach, ale wiersz CSV jest płaski, więc konwerter musi coś z tym zrobić. Przy konwersji z JSON-a na CSV spłaszcza każdy zagnieżdżony obiekt, łącząc jego klucze kropkami, więc {"address": {"city": "Kraków"}} staje się kolumną o nazwie address.city z wartością Kraków. Tablice i wszystko, co nie mieści się w jednej komórce, zostaje zapisane jako tekst JSON, więc dane wciąż widać, tylko nie rozłożone po kolumnach.
Przy konwersji z CSV na JSON proces przebiega w drugą stronę: kolumna o nazwie address.city zostaje odbudowana jako zagnieżdżony obiekt address z polem city. Każda komórka jest też sprawdzana pod kątem typu. Puste komórki zamieniają się w null, true i false stają się wartościami logicznymi, zwykłe liczby zostają liczbami, a każda komórka wyglądająca jak tablica albo obiekt JSON zostaje sparsowana jako taka. Cała reszta pozostaje tekstem. Parser CSV sam wykrywa separator (przecinek, średnik, tabulator albo pionową kreskę) na podstawie wprowadzonych danych, ale można też wymusić konkretny, jeśli wykrywanie się pomyli.
Co się stanie, jeśli mój JSON nie jest płaską listą obiektów?
Kierunek z JSON-a na CSV wymaga, żeby dane były tablicą, w której każdy element jest obiektem, bo tylko wtedy da się to przełożyć na wiersze i kolumny. Jeśli wartość na najwyższym poziomie nie jest tablicą albo któryś z jej elementów nie jest obiektem, narzędzie przerywa i wskazuje, przy którym indeksie się zatrzymało, zamiast zgadywać jakiś układ. Pojedynczy obiekt, sama liczba albo tablica tekstów nie skonwertują się bezpośrednio. Trzeba najpierw opakować albo przebudować dane do postaci tablicy obiektów, co zresztą jest kształtem, jaki większość API i tak zwraca dla odpowiedzi w postaci list.
Czy moje dane są gdzieś wysyłane?
Nie. Parsowanie i konwersja odbywają się w całości w przeglądarce, w JavaScript, a nic z tego, co wklejasz, nie trafia na żaden serwer. Dzięki temu narzędzie nadaje się do pracy z eksportami z arkuszy kalkulacyjnych, zrzutami baz danych albo plikami CSV zawierającymi dane klientów, wewnętrzne identyfikatory i inne dane, których nie chciałbyś przekazywać zewnętrznej usłudze.
Typowe zastosowania: zamiana odpowiedzi API na CSV do Excela albo Arkuszy Google, konwersja wyeksportowanego arkusza na JSON do skryptu albo pliku testowego, albo porządkowanie danych przed przekazaniem ich do innego narzędzia. Wynik CSV jest zgodny z RFC 4180, a JSON z formatem opisanym na MDN.