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. Wybierz kierunek. CSV → JSON jest domyślny; JSON → CSV oczekuje tablicy JSON płaskich obiektów.
- 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. 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. Skopiuj lub pobierz. Kopiuj wynik kopiuje wynik; przycisk pobierania zapisuje go jako
data.jsonlubdata.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
2020staje 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?
| Chcesz | Użyj |
|---|---|
| Konwertować między CSV a tablicą JSON | Ta strona |
| Zobaczyć CSV jako tabelę, żeby skopiować HTML | CSV na tabelę |
| Zrobić tabelę Markdown z CSV | Generator tabel Markdown |
| Zachować tylko niektóre kolumny CSV | Ekstraktor kolumn |
| Sprawdzić lub sformatować sam JSON | Formater JSON |
| Zamienić YAML lub XML na JSON i z powrotem | Konwerter YAML na JSON, Konwerter XML na JSON |
| Złożyć CSV do pracy naukowej | Generator 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
007czy1e5zachowują 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.