JSONedit: import plików CSV

CSV to JSON conversion wizard

Funkcja importu plików JSON dodana została w wesji 0.9 programu JSONedit. Korzyścią z konwersji CSV jest możliwość wykorzystania arkusza kalkulacyjnego do generowania zawartości tablic. JSONedit posiadał już wcześniej funkcję klonowania elementów tablic, ale wygenerowanie dużej tablicy o różniących się między sobą elementach wiązało się z dużym nakładem pracy. Powszechna znajomość obsługi arkuszy kalkulacyjnych, duże podobieństwo w sposobie obsługi różnych arkuszy i duże możliwości tego typu programów sprawiają, że trudno byłoby stworzyć konkurencyjne oprogramowanie do edycji tabel.

Ograniczeniem związanym z importem CSV jest brak możliwości generowania tablic o złożonej (zagnieżdżonej) strukturze elementu.

Sposób interpretacji plików CSV powinien być w dużym lub bardzo dużym stopniu zgodny z zaleceniami RFC4180:

Separator pól jest konfigurowalny w pierwszym kroku wizarda. Separator dziesiętny jest konfigurowalny w kroku wizarda związanym z generacją JSON, ale jest istotny tylko jeżeli źródło zawiera dane które mają być przekształcone na liczby zmiennoprzecinkowe. Generator JSON umożliwia zupełne wyłączenie przekształcania tekstu na liczby - wszystkie pola wejściowe są wtedy traktowane jako tekst.

Sposoby konwersji

Konwerter umożliwia przekształcenie CSV na JSON na trzy sposoby. Źródłowy arkusz (Libre Office):
CSV to JSON conversion with JSONedit, source data: Libre Office

Konwersja wiersza na obiekt ("Properties") Konwersja kolumn na tablice ("Column array") Konwersja wierszy na tablice ("Row array")
Pierwszy wiersz pliku traktowany jest jako nagłówek. Każdy kolejny wiersz zamieniany jest na obiekt którego nazwy elementów pochodzą z nagłówka. Każda kolumna arkusza zamieniana jest na tablicę elementów. Tablica nazywana jest tak, jak pierwszy element kolumny (traktowany jako nagłówek) Każdy wiersz arkusza zamieniany jest na osobną tablicę. Jeżeli pierwszy wiersz pełni rolę nagłówka i nie powinien znaleźć się wśród tablic wartości można usunąć go ręcznie w edytorze.
konwersja CSV na JSON, styl Properties konwersja CSV na JSON, styl Column arrays konwersja CSV na JSON, styl Row arrays

 "Cookie monsters": 7731842    Parse time: 0.001 s