JSONedit: import plików CSV
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:
- linie oddzielone powinny być CRLF (drobne odstępstwo od RFC: akceptowane jest także samo LF),
- obecność CRLF na końcu ostatniej linii jest bez znaczenia,
- wymagana jest jednakowa ilość pól we wszystkich wierszach,
- białe znaki wewnątrz pól nie są ignorowane,
- cudzysłowy obejmujące pola są opcjonalne; są wymagane jeżeli pole zawiera w sobie cudzysłów lub znaki nowej linii,
- cudzysłowy wewnątrz pola muszą być podwojone.
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):
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. |