Konwerter JSON ↔ CSV
Konwerter JSON ↔ CSV
Dwukierunkowa konwersja między CSV/TSV a JSON z automatycznym wykrywaniem separatora, mapowaniem nagłówków, przycinaniem pól i pomijaniem pustych linii. Przydatne do importu/eksportu danych, przetwarzania arkuszy kalkulacyjnych i przygotowywania payloadów API.
🚀 Szybki start
- Wklej lub wprowadź dane CSV/TSV w edytorze CSV po prawej stronie, a JSON po lewej stronie zostanie automatycznie zsynchronizowany
- Możesz także wpisać JSON w edytorze JSON po lewej stronie, a plik CSV po prawej stronie również zostanie automatycznie zsynchronizowany.
- Domyślnie separator jest ustawiony na „Auto”. Narzędzie sprawdza pierwszy wiersz i wykrywa przecinek, tabulator, średnik lub pionową kreskę (|).
- Po włączeniu opcji „Użyj wiersza nagłówka” pierwszy wiersz CSV jest używany jako nazwy kluczy obiektu JSON; po wyłączeniu wynik jest konwertowany do tablicy dwuwymiarowej.
- Użyj „Przytnij pola” i „Pomiń puste linie”, aby wyczyścić niechlujne dane CSV.
- Każdy edytor można pobrać osobno: strona JSON pobiera plik .json, a strona CSV pobiera plik .csv lub .tsv w oparciu o bieżący ogranicznik.
📌 Typowe scenariusze
- Excel do JSON: skopiuj komórki rozdzielone tabulatorami z Excela do panelu CSV i natychmiast przekonwertuj je na tablicę obiektów JSON.
- Odpowiedź API na arkusz kalkulacyjny: konwertuj odpowiedzi JSON na CSV w celu analizy w Excelu lub Arkuszach Google.
- Przygotowanie do importu bazy danych: konwertuj zestawy danych CSV na JSON na potrzeby wsadowego importu API.
- Analiza logów: konwertuj logi CSV na JSON w celu ustrukturyzowanego wykonywania zapytań za pomocą narzędzi takich jak jq.
- Migracja konfiguracji: przełączanie pomiędzy tabelami mapowania CSV i plikami konfiguracyjnymi JSON.
- Czyszczenie danych: szybkie czyszczenie wyeksportowanych danych poprzez przycinanie pól i pomijanie pustych linii.
🧭 Wskazówki użycia
- Dane wklejane z programu Excel są zwykle rozdzielane tabulatorami i są wykrywane poprawnie. Jeśli wykrywanie jest nieprawidłowe, wybierz ogranicznik ręcznie.
- Gdy „Użyj wiersza nagłówka” jest włączone, pierwszy wiersz jest traktowany jako nazwy kolumn, a nie jako dane. Jeśli CSV nie ma nagłówka, wyłącz tę opcję, aby nie utracić pierwszego wiersza danych.
- Jeśli istnieją zduplikowane nazwy nagłówków, przyrostki są dodawane automatycznie (na przykład nazwa, nazwa_2), aby klucze JSON były unikatowe.
- JSON → CSV działa najlepiej z tablicami płaskich obiektów. Zagnieżdżone obiekty/tablice są serializowane w komórkach jako ciągi JSON.
- Pola zawierające ograniczniki, znaki nowej linii lub cudzysłowy są automatycznie cytowane i zmieniane zgodnie z regułami CSV.
⚠️ Ograniczenia i kompatybilność
- CSV jest płaskim formatem tabelarycznym i nie może natywnie reprezentować struktur zagnieżdżonych. Zagnieżdżone obiekty/tablice JSON są serializowane jako ciągi znaków i nie można ich w pełni przywrócić podczas konwersji odwrotnej.
- CSV przechowuje wartości jako tekst. Po podróży w obie strony JSON → CSV → JSON liczby i wartości logiczne mogą powrócić jako ciągi znaków.
- UTF-8 BOM (\uFEFF) jest usuwany automatycznie. Inne kodowania (na przykład GBK lub Shift-JIS) nie są obsługiwane; najpierw przekonwertuj na UTF-8.
- Podobnie jak JSON w JavaScript, to narzędzie przestrzega ograniczeń IEEE 754. Liczby całkowite wykraczające poza 53-bitowy bezpieczny zakres mogą utracić precyzję.
🔒 Prywatność i bezpieczeństwo
- Całe przetwarzanie odbywa się lokalnie w Twojej przeglądarce. Twoje dane nigdy nie opuszczają Twojego urządzenia.
❓ Najczęstsze pytania
Co to jest CSV i jaki ma związek z TSV i Excelem?
CSV (wartości rozdzielane przecinkami) to format tabeli w postaci zwykłego tekstu, w którym każda linia jest rekordem, a pola oddzielane są przecinkami. TSV to wariant rozdzielany tabulatorami. Excel może otwierać i eksportować oba formaty, ale sam plik .xlsx jest binarnym formatem skoroszytu. To narzędzie działa z plikami CSV/TSV w formacie zwykłego tekstu, a nie z plikami .xlsx. Historycznie rzecz biorąc, CSV nie miał jednego ścisłego standardu. W 2005 roku w dokumencie RFC 4180 zdefiniowano wspólne zasady: pola są oddzielane przecinkami, pola ze znakami specjalnymi są umieszczane w podwójnych cudzysłowach, a cudzysłowy w polach w cudzysłowie są oddzielane jako dwa podwójne cudzysłowy. Różne aplikacje nadal implementują plik CSV z niewielkimi różnicami, dlatego częste są problemy z importem/eksportem.
Jak działa wykrywanie ograniczników „Auto”? Czy to może być błędne?
Narzędzie analizuje pierwszy wiersz CSV, zlicza przecinki, tabulatory, średniki i pionowe kreski (|) występujące poza cudzysłowami, a następnie wybiera najczęstszy znak jako separator. Dla większości poprawnych danych CSV/TSV działa to dokładnie. Błąd może wystąpić, gdy jest tylko jedna kolumna (brak separatora) albo gdy same wartości pól zawierają dużo znaków separatora. W takiej sytuacji wybierz separator ręcznie.
Co się zmienia, gdy opcja „Użyj wiersza nagłówka” jest włączona lub wyłączona?
Po włączeniu pierwszy wiersz CSV jest traktowany jako nazwy kolumn, a każdy rekord zamieniany jest na obiekt JSON z tymi nazwami jako kluczami (np. {"name": "Alice", "age": "30"}). Po wyłączeniu wszystkie wiersze, łącznie z pierwszym, są traktowane jako dane i konwertowane do tablicy dwuwymiarowej (np. [["name", "age"], ["Alice", "30"]]). W kierunku JSON → CSV włączony nagłówek zapisuje klucze obiektu w pierwszym wierszu CSV.
Mój JSON zawiera zagnieżdżone obiekty. Czy mogę dokonać konwersji bezstratnej po CSV?
Nie do końca. Podczas JSON → CSV zagnieżdżone obiekty/tablice są serializowane za pomocą JSON.stringify do tekstu komórkowego. Podczas CSV → JSON wartości te pozostają ciągami znaków i nie są automatycznie analizowane z powrotem do obiektów. Jeśli potrzebujesz wierności strukturalnej, spłaszcz JSON przed konwersją.
Czy mogę konwertować dane skopiowane bezpośrednio z Excela?
Tak. Gdy kopiujesz zakres komórek z programu Excel i wklejasz go do edytora CSV, dane są zwykle rozdzielane tabulatorami. Automatyczne wykrywanie identyfikuje go jako TSV i poprawnie konwertuje. Jeśli chcesz pobrać plik .csv rozdzielany przecinkami, przed pobraniem zmień ogranicznik na przecinek.
Jak obsługiwane są cudzysłowy i podziały wierszy w polach CSV?
Zgodnie z RFC 4180: jeśli pole zawiera separator, znak nowej linii lub cudzysłów, całe pole jest ujmowane w podwójne cudzysłowy; cudzysłowy wewnątrz pola są escapowane jako dwa kolejne podwójne cudzysłowy (""). Zasada działa tak samo przy parsowaniu wejścia i generowaniu wyjścia. Jeśli cudzysłów nie zostanie poprawnie zamknięty, pojawi się błąd „Cudzysłów CSV nie jest zamknięty”.