Konwerter CSV do JSON

Konwertuj CSV na JSON i JSON na CSV z podglądem tabeli.

O tym narzędziu

Wklej CSV, aby otrzymać tablicę obiektów JSON, albo JSON, aby otrzymać z powrotem CSV. Separator jest wykrywany automatycznie (przecinek, średnik, tabulator lub kreska pionowa), pola w cudzysłowach i podziały linii wewnątrz cudzysłowów są obsługiwane, a zagnieżdżone obiekty JSON są spłaszczane do nazw kolumn z kropkami.

Jak z tego korzystać

  1. Wklej CSV wyeksportowany z arkusza kalkulacyjnego lub bazy danych albo tablicę obiektów JSON.
  2. Kierunek i separator (przecinek, średnik, tabulator lub kreska pionowa) są wykrywane automatycznie; w razie potrzeby możesz je zmienić.
  3. Dla CSV wybierz, czy pierwszy wiersz jest nagłówkiem i czy liczby oraz true/false mają stać się wartościami typowanymi.
  4. Sprawdź podgląd tabeli, a potem skopiuj wynik.

Pytania

Mój CSV z Excela używa średników. Czy to zadziała?
Tak. Excel w wielu europejskich ustawieniach regionalnych (także polskich) zapisuje CSV ze średnikami, a separator jest wykrywany na podstawie danych. Możesz go też wybrać ręcznie.
Jak obsługiwane są przecinki i podziały linii wewnątrz wartości?
Wartości ujęte w cudzysłowy mogą zawierać separator i podziały linii, a podwojony cudzysłów ("") w ich wnętrzu oznacza jeden znak cudzysłowu, zgodnie z RFC 4180.
Co dzieje się z zagnieżdżonymi obiektami przy konwersji JSON do CSV?
Są spłaszczane do nazw kolumn z kropkami, więc {"address": {"city": "Oslo"}} staje się kolumną address.city. Tablice są zapisywane jako tekst JSON w jednej komórce.
Czy zera wiodące i numery telefonów są zachowywane?
Tak. Tylko zwykłe liczby stają się liczbami JSON, więc wartości takie jak 00123, +48 600 100 200 czy bardzo długie identyfikatory pozostają tekstem. Wyłącz Liczby i wartości logiczne, aby zachować każdą wartość jako tekst.
Czy obsługiwane są pliki CSV z windowsowymi zakończeniami linii?
Tak. Akceptowane są zakończenia linii CRLF, LF i samotne CR, więc CSV zapisany przez Excela w Windows jest parsowany tak samo jak plik z narzędzi linuksowych. Znaki nowej linii wewnątrz wartości w cudzysłowach pozostają częścią wartości. CSV generowany z JSON używa zakończeń linii LF.
Dlaczego pojawia się błąd, że pole w cudzysłowie nie zostało zamknięte?
Wartość zaczyna się od podwójnego cudzysłowu, ale przed końcem danych nie ma cudzysłowu zamykającego, więc wszystko dalej stałoby się jednym polem. Znajdź wartość zaczynającą się od " i dodaj brakujący cudzysłów zamykający albo usuń otwierający, jeśli wartość wcale nie miała być w cudzysłowie.
Czy mogę przekonwertować TSV lub skopiowane komórki arkusza na JSON?
Tak. Skopiowanie zakresu komórek w Excelu lub Arkuszach Google umieszcza w schowku tekst rozdzielony tabulatorami, a separator tabulatora jest wykrywany automatycznie. Wklej go na wejście, aby dostać JSON bez zapisywania pliku. Eksporty TSV z klientów baz danych działają tak samo.

Jak przekonwertować CSV na JSON?

Konwersja CSV na JSON zamienia każdy wiersz w obiekt, którego klucze pochodzą z wiersza nagłówka. Przy nagłówku id,name,active linia 1,Ada Lovelace,true staje się {"id": 1, "name": "Ada Lovelace", "active": true}. Przy włączonej opcji Liczby i wartości logiczne zwykłe liczby, true, false i null stają się typowanymi wartościami JSON. Wyłącz ją, aby każda wartość pozostała ciągiem znaków. Podgląd tabeli pokazuje pierwsze 50 wierszy, więc przed skopiowaniem możesz sprawdzić kolumny.

Gdy plik CSV nie ma wiersza nagłówka, wyłącz Pierwszy wiersz to nagłówek, a kluczami staną się column1, column2 itd. Te same nazwy uzupełniają puste komórki nagłówka. Wiersz z mniejszą liczbą pól niż nagłówek dostaje puste ciągi w brakujących kolumnach, a dodatkowe pola poza nagłówkiem są pomijane. Przesunięta kolumna w podglądzie tabeli zwykle oznacza, że wartość bez cudzysłowów zawiera separator.

Separatory CSV a Excel

CSV nie ma jednego separatora. Excel używa separatora listy z ustawień regionalnych, więc w Niemczech, Francji, Polsce i dużej części Europy, gdzie przecinek jest separatorem dziesiętnym, pliki CSV używają średników. Eksporty z baz danych i narzędzia uniksowe często produkują wartości rozdzielone tabulatorami (TSV), a niektóre systemy używają kreski pionowej. Konwerter próbuje przecinka, średnika, tabulatora i kreski pionowej i wybiera ten separator, który daje najbardziej spójną liczbę kolumn w pierwszych wierszach.

JSON na CSV domyślnie zapisuje przecinki. Wybierz średnik, jeśli plik ma się otwierać podwójnym kliknięciem w europejskim Excelu, albo Tabulator, aby wkleić wynik prosto do komórek arkusza. Wartości zawierające separator, cudzysłowy lub znaki nowej linii są automatycznie ujmowane w podwójne cudzysłowy. Jeśli polskie znaki lub inne litery z akcentami wyglądają na uszkodzone, gdy Excel otwiera pobrany plik, zaimportuj go przez Dane > Z pliku tekstowego/CSV i wybierz UTF-8, bo Excel może zakładać starsze kodowanie.

Jak przekonwertować tablicę JSON na CSV?

JSON na CSV oczekuje tablicy obiektów, takiej jak elementy odpowiedzi API. Każdy obiekt staje się wierszem, a kolumny to suma wszystkich kluczy w kolejności ich pierwszego wystąpienia. Obiekt bez danego klucza dostaje pustą komórkę, a null też staje się pustą komórką. Pojedynczy obiekt daje CSV z jednym wierszem, a tablica zwykłych wartości, np. [1, 2, 3], daje jedną kolumnę o nazwie value.

Wiele API opakowuje listę w kopertę, jak w {"data": [...], "page": 2}. Bezpośrednia konwersja daje jeden wiersz z całą listą upchniętą w jednej komórce jako tekst JSON. Wklej zamiast tego tylko wewnętrzną tablicę, a jeśli struktura jest nieczytelna, najpierw otwórz odpowiedź w narzędziu Formater JSON. Gdy CSV ma trafić do importu w bazie danych, sprawdź nazwy kolumn: nazwy z kropkami, takie jak address.city, mogą wymagać zmiany.

Coś nie działa albo wynik wygląda na błędny? Zgłoś problem z tym narzędziem