Przejdź do treści

Konwerter CSV na JSON

Wklej CSV, a otrzymasz tablicę obiektów JSON z kluczami z wiersza nagłówka albo tablicę tablic, jeśli nagłówka nie ma. Zmień kierunek, aby zamienić tablicę płaskich obiektów JSON z powrotem na CSV. Pola w cudzysłowie, podwójne cudzysłowy i podziały wierszy wewnątrz pól są odczytywane poprawnie, a konwersja działa w Twojej przeglądarce. Za darmo, bez rejestracji.

Kierunek

Jak korzystać z konwertera CSV na JSON

  1. 1. Wybierz kierunek. CSV → JSON jest domyślny; JSON → CSV oczekuje tablicy JSON płaskich obiektów.
  2. 2. Ustaw opcje. Separator można wykryć automatycznie albo ustawić na przecinek, średnik lub tabulator; przy JSON → CSV opcja Wykryj automatycznie zapisuje przecinki. Dla CSV → JSON wybierasz też wcięcie: 2 spacje, 4 spacje lub tabulator, oraz to, czy pierwszy wiersz zawiera nagłówki.
  3. 3. Wklej i konwertuj. Naciśnij Konwertuj. Problemy — niezamknięty cudzysłów, nieprawidłowy JSON, tablica, która nie składa się z obiektów — pojawiają się jako komunikat zamiast wyniku.
  4. 4. Skopiuj lub pobierz. Kopiuj wynik kopiuje wynik; przycisk pobierania zapisuje go jako data.json lub data.csv.

Jak odczytywany jest CSV

CSV wygląda prosto, ale tak nie jest: ten sam plik może używać przecinków, średników lub tabulatorów, a pole może zawierać dokładnie ten znak, który rozdziela pola. Najbliższą specyfikacją jest RFC 4180, która ma charakter informacyjny, a nie normy. Mówi ona, że pole zawierające przecinek, podwójny cudzysłów lub podział wiersza musi być ujęte w podwójne cudzysłowy, a podwójny cudzysłów wewnątrz takiego pola zapisuje się jako dwa. Konwerter stosuje te reguły i dodaje pewną wyrozumiałość:

  • Pola w cudzysłowie. Pole zaczynające się od podwójnego cudzysłowu trwa do cudzysłowu zamykającego, więc może zawierać separatory, podziały wierszy i "" jako dosłowny cudzysłów. Cudzysłów, który nie zostanie zamknięty, przerywa konwersję i wskazuje wiersz, w którym się zaczął.
  • Końce wierszy. LF, CRLF i samo CR kończą wiersz, a puste wiersze są pomijane.
  • Wykrywanie separatora. W trybie automatycznym konwerter patrzy tylko na pierwszy wiersz i wybiera ten spośród przecinka, średnika i tabulatora, który pojawia się najczęściej; w razie remisu wygrywa przecinek. Jeśli pierwszy wiersz pliku jest nietypowy — na przykład to jedna kolumna albo wiersz tytułu — wybierz separator samodzielnie. RFC 4180 zna tylko przecinki; średniki są powszechne w plikach eksportowanych z arkuszy ustawionych na europejskie ustawienia regionalne.
  • Wszystko jest tekstem. Konwerter nie zgaduje typów, więc 2020 staje się napisem "2020", a nie liczbą, a pusta komórka staje się "", a nie null. Jeśli Twój kod potrzebuje liczb, przekonwertuj typy później.

Przykład krok po kroku

Nagłówek

name,note,year

Wiersz 1

"Smith, Jane","Said ""hello""",2020

Wiersz 2

Lee,short

Wynik

Dwa obiekty. Smith, Jane ma uwagę Said "hello" i rok "2020"; Lee ma uwagę short i rok "".

Przecinek w Smith, Jane zostaje w jednym polu dzięki cudzysłowom, a podwójne cudzysłowy zwijają się do jednego. Wiersz Lee ma o jedną komórkę za mało, więc brakujący rok staje się pustym napisem; wiersz z dodatkowymi komórkami traci nadwyżkę, bo nie ma nagłówka, który by je nazwał. Odznacz Pierwszy wiersz to nagłówki, a to samo wejście stanie się tablicą tablic — [["name","note","year"],…] — z krótkimi wierszami pozostawionymi krótkimi.

Zduplikowane nazwy nagłówków się zderzają: przy dwóch kolumnach o nazwie id późniejsza wygrywa, a wcześniejsza ginie, więc najpierw zmień jedną z nazw.

Powrót: JSON na CSV

Kierunek odwrotny oczekuje tablicy najwyższego poziomu, której elementy są wszystkie obiektami. Wiersz nagłówka to suma wszystkich kluczy w kolejności pierwszego wystąpienia, więc obiekty o różnych kluczach nadal się zgadzają, a brakująca wartość zostaje pusta. Liczby i wartości logiczne zapisuje się tak, jak się pojawiają, null staje się pustą komórką, a każda zagnieżdżona tablica lub obiekt trafia do swojej komórki jako tekst JSON, ujęty w cudzysłów. Jeśli Twoje dane są zagnieżdżone, najpierw je spłaszcz. Komórki zawierające separator, cudzysłów lub podział wiersza są ujęte w cudzysłowy, a cudzysłowy w ich środku zdwajane; wiersze są łączone zwykłymi znakami nowej linii (LF).

Zastosowane do [{"name":"Smith, Jane","year":2020,"tags":["a","b"]},{"name":"Doe","note":"two\nlines","year":null}], konwerter zapisuje nagłówek name,year,tags,note, pierwszy wiersz "Smith, Jane", 2020 i ujęty w cudzysłów tekst ["a","b"], a drugi wiersz dla Doe, którego rok i tagi są puste, a uwaga to ujęty w cudzysłów tekst z dwoma wierszami.

Którego narzędzia potrzebujesz?

ChceszUżyj
Konwertować między CSV a tablicą JSONTa strona
Zobaczyć CSV jako tabelę, żeby skopiować HTMLCSV na tabelę
Zrobić tabelę Markdown z CSVGenerator tabel Markdown
Zachować tylko niektóre kolumny CSVEkstraktor kolumn
Sprawdzić lub sformatować sam JSONFormater JSON
Zamienić YAML lub XML na JSON i z powrotemKonwerter YAML na JSON, Konwerter XML na JSON
Złożyć CSV do pracy naukowejGenerator tabel LaTeX, Generator tabel APA

Najczęstsze pytania

Jak przekonwertować CSV na JSON?
Wklej CSV do pola, zostaw wybrane CSV → JSON i naciśnij Konwertuj. Gdy zaznaczone jest Pierwszy wiersz to nagłówki, dostajesz tablicę obiektów z kluczami z nazw nagłówków; bez tego dostaniesz tablicę tablic. Skopiuj wynik albo pobierz go jako data.json.
Czy konwerter obsługuje pola w cudzysłowie z przecinkami lub podziałami wierszy?
Tak. Pole ujęte w podwójne cudzysłowy może zawierać separator, podziały wierszy i podwójne cudzysłowy, zgodnie z RFC 4180. Cudzysłów otwierający bez zamykającego przerywa konwersję i podaje wiersz, w którym pole się zaczęło.
Jakie separatory są obsługiwane?
Przecinek, średnik i tabulator, wykrywane automatycznie z pierwszego wiersza albo wybrane ręcznie. Separatory z pionową kreską (|) i inne nie są obsługiwane; kolumna wyciągająca dane lub zamiana tekstu może najpierw zastąpić je przecinkami.
Dlaczego moje liczby są napisami w JSON?
CSV nie ma typów, a konwerter ich nie zgaduje, więc każda wartość wychodzi jako napis, a pusta komórka jako pusty napis. Dzięki temu wartości takie jak 007 czy 1e5 zachowują się dokładnie tak, jak zapisano; typy zamieniaj w swoim kodzie tam, gdzie potrzebujesz liczb.
Jak działa JSON na CSV?
Potrzebna jest tablica JSON obiektów. Każdy obiekt staje się wierszem, kolumnami są wszystkie klucze, które gdziekolwiek występują, a zagnieżdżone obiekty lub tablice zapisywane są w komórce jako tekst JSON. Niepoprawny JSON jest zgłaszany z numerem wiersza, jeśli parser przeglądarki podaje pozycję.
Dlaczego mój CSV źle otwiera się w Excelu po konwersji?
Plik jest zwykłym UTF-8 bez znacznika kolejności bajtów (BOM) i używa wybranego separatora, więc Excel w regionie oczekującym średników może umieścić wszystko w jednej kolumnie, a znaki spoza alfabetu łacińskiego mogą wymagać ustawienia kreatora importu na UTF-8. Wybór separatora średnik często rozwiązuje pierwszy problem.
Czy moje dane są gdzieś przesyłane?
Nie. Obie konwersje działają w Twojej przeglądarce, a wklejony tekst nie jest wysyłany do CitationEasy. Pobierany plik jest generowany lokalnie.

Powiązane narzędzia

Więcej z kategorii Dane, znaczniki i kod