Jak zamienić CSV na JSON (lub odwrotnie)?
- 1.
Wybierz kierunek
Przełącz „CSV → JSON” albo „JSON → CSV”, a następnie wklej dane lub wczytaj plik (obsługujemy UTF-8 i Windows-1250 z Excela).
- 2.
Ustaw opcje
Dla CSV: separator (domyślnie wykrywany automatycznie), nagłówki i rozpoznawanie typów. Dla JSON: spłaszczanie obiektów, separator, BOM i przecinek dziesiętny dla Excela.
- 3.
Skopiuj lub pobierz
Wynik widać od razu wraz z podglądem tabeli. Skopiuj go lub pobierz jako plik .json lub .csv.
Polski Excel: średnik, przecinek dziesiętny i kodowanie
Excel w polskich ustawieniach regionalnych zapisuje CSV ze średnikiem jako separatorem, bo przecinek jest separatorem dziesiętnym („12,50”). Dlatego konwerter wykrywa separator sam - porównuje spójność liczby kolumn w pierwszych wierszach dla przecinka, średnika, tabulatora i kreski pionowej. Plik CSV z Excela bywa też zapisany w kodowaniu Windows-1250; wczytując plik, narzędzie spróbuje UTF-8, a w razie błędu odczyta go jako Windows-1250, żeby „ąęłóż” się nie zepsuły.
Przy tworzeniu CSV dla Excela włącz BOM (znacznik UTF-8, dzięki któremu polskie znaki otwierają się poprawnie), separator średnik i opcjonalnie liczby z przecinkiem dziesiętnym.
Zasady CSV (RFC 4180) obsługiwane przez parser
- Pole zawierające separator, cudzysłów lub znak nowej linii musi być ujęte w cudzysłów:
"Kowalski, jr". - Cudzysłów wewnątrz pola zapisuje się podwójnie:
"powiedział ""cześć""". - Pole w cudzysłowie może zawierać kilka wierszy tekstu.
- Wiersze mogą kończyć się CRLF lub LF; pusty wiersz na końcu pliku jest ignorowany.
Przykład: wiersz Jan;"Kowalski, jr";25;8,99 przy włączonym rozpoznawaniu typów i przecinku dziesiętnym daje (bez nagłówka) w JSON: ["Jan","Kowalski, jr",25,8.99].
Rozpoznawanie typów i spłaszczanie JSON
Domyślnie wszystkie wartości z CSV są tekstem. Po włączeniu rozpoznawania typów: liczby (42, -3.5, 1e3, a opcjonalnie 12,5) stają się liczbami, true/false wartościami logicznymi, a puste pola i null - wartością null. Wartości z zerami wiodącymi (007, kody pocztowe) oraz bardzo długie numery całkowite pozostają tekstem, żeby nie stracić danych.
Przy konwersji JSON → CSV zagnieżdżone obiekty można spłaszczyć w notacji z kropką: {"adres":{"miasto":"Łódź"},"tagi":["a","b"]} daje kolumny adres.miasto, tagi.0, tagi.1. Kolumny są sumą kluczy ze wszystkich rekordów, więc brakujące wartości zostają puste.
Najczęściej zadawane pytania
Dlaczego CSV z Excela ma średniki zamiast przecinków?
+
Dlaczego w Excelu widzę krzaczki zamiast polskich znaków?
+
Czy dane są wysyłane na serwer?
+
Jak zamienić zagnieżdżony JSON na CSV?
+
Jak ustawić, żeby numery z zerami (np. 007) się nie zmieniły?
+
Jak duże pliki obsługuje konwerter?
+
Aktualizacja: