Konwerter JSON na CSV
Zamień tablicę obiektów JSON na tabelę CSV, w całości w przeglądarce.
Działa w całości w twojej przeglądarce. Nic nie jest wysyłane, logowane ani przechowywane.
Wklej odpowiedź API i odbierz tabelę, którą otworzysz w arkuszu kalkulacyjnym. Każdy klucz, który pojawi się gdziekolwiek w tablicy, staje się kolumną, a wszystko dzieje się w przeglądarce, więc payload pełen danych osobowych nigdy nie opuszcza twojego komputera.
Jak to działa
Dokument musi być tablicą obiektów, bo to jest tabela: jeden obiekt na wiersz. Pojedynczy obiekt jest przyjmowany jako tabela z jednym wierszem. Wszystko inne — sama liczba, ciąg znaków, tablica ciągów — nie ma wierszy i zostaje zgłoszone, zamiast być zgadywane.
Nagłówek to suma wszystkich kluczy z tablicy, w kolejności, w jakiej każdy z nich pojawił się po raz pierwszy, a nie po prostu klucze pierwszego obiektu. Pole opcjonalne, którego brakuje w pierwszym rekordzie, to dokładnie taki kształt, jaki ma prawdziwa odpowiedź API, a wzięcie kluczy tylko z pierwszego wiersza pominęłoby tę kolumnę we wszystkich wierszach.
Zagnieżdżony obiekt lub tablica trafia do komórki jako JSON, zamiast rozkładać się na dodatkowe kolumny. Spłaszczanie wygląda schludniej, ale nie przetrwa drogi powrotnej: dwa rekordy zagnieżdżone w różny sposób dałyby różne zestawy kolumn, a klucz zawierający już kropkę stałby się nie do odróżnienia od zagnieżdżonego.
Null staje się pustą komórką, true i false stają się słowami true i false, a liczby są zapisywane tak, jak zapisałby je JSON, więc wartość nie zmienia postaci na wyjściu.
Przykłady
| Przypadek | Dane wejściowe | Wynik |
|---|---|---|
| Klucz, którego brakuje w pierwszym rekordzie, też dostaje kolumnę | [{"id": 1}, {"id": 2, "note": "late"}] | id,note 1, 2,late |
Najczęściej zadawane pytania
Dlaczego mój zagnieżdżony obiekt pojawia się w komórce jako JSON?
Bo spłaszczenie nie byłoby odwracalne. Jeśli jeden rekord ma trzy poziomy zagnieżdżenia, a następny jeden, spłaszczenie daje z tej samej tablicy dwa różne zestawy kolumn; a klucz zawierający już kropkę staje się nie do odróżnienia od zagnieżdżonej ścieżki. Zachowanie struktury w komórce sprawia, że konwersja w drugą stronę oddaje dokładnie to, od czego się zaczęło.
Czy Excel otworzy to poprawnie?
Zależy to bardziej od twoich ustawień regionalnych niż od pliku. Arkusz kalkulacyjny w ustawieniach, w których ułamki dziesiętne zapisuje się przecinkiem, oczekuje średnika jako separatora, dlatego średnik jest na liście separatorów. Jeśli plik rozdzielany przecinkami otwiera się jako jedna kolumna w każdym wierszu, to właśnie dlatego.
Moja tablica jest zagnieżdżona w obiekcie. Dlaczego to nie działa?
Bo dokument jako całość nie jest listą wierszy. Przy odpowiedzi API w postaci {"data": [...]} trzeba wkleić samą tablicę, a nie opakowanie. Opakowanie ma dokładnie jeden wiersz — samo siebie — a jego konwersja dałaby tabelę z jedną komórką zawierającą wszystko.
Czy mój dokument jest gdzieś wysyłany?
Nie. Strona ładuje mały skrypt, który wykonuje konwersję lokalnie. Po załadowaniu strony możesz odłączyć się od sieci, a narzędzie nadal będzie działać.
Warto wiedzieć
- Wszystko dzieje się w przeglądarce. Dokument nie jest wysyłany, rejestrowany ani przechowywany.
- Cudzysłowy zgodnie z RFC 4180: pole ujmuje się w cudzysłów, gdy zawiera separator, cudzysłów podwójny lub znak nowej linii, a cudzysłów podwójny wewnątrz takiego pola zapisuje się dwukrotnie. Ukośniki wsteczne są zwykłymi znakami i nigdy nie są traktowane jako znaki ucieczki.
Źródła
Wszystkie narzędzia z kategorii Kod