Zjistěte, zda z řádků vznikne tabulka
JSONL, označovaný také jako JSON Lines, ukládá na každý řádek samostatnou platnou hodnotu JSON. Pro tabulkový procesor je vhodné, aby každou hodnotou byl objekt představující jeden záznam a jeho klíče se mohly stát názvy sloupců. Náš příklad má dva záznamy s poli id, name a amount. Jeden název obsahuje čárku, druhý znak s diakritikou a druhá částka je null. Díky tomu se projeví chyby, které by jednoduché testovací hodnoty nezachytily. Před převodem rozsáhlého exportu zkontrolujte vzorek. Pokud se na některých řádcích objevují pole, samostatná čísla nebo vnořené objekty, určete nejprve pravidla pro jejich úpravu. Plochá tabulka CSV neumí věrně zachovat libovolnou strukturu JSON. Původní JSONL si ponechte pro porovnání.
Spojte záznamy do pole a potom vytvořte CSV
Vložte příklad do integrovaného nástroje JSON Lines na pole. Výsledkem má být jedno pole JSON s přesně dvěma objekty ve stejném pořadí. Celé toto pole zkopírujte do nástroje JSON na CSV uvedeného níže. Druhý krok vytvoří záhlaví id,name,amount a dva datové řádky. Hodnota Ana, Ltd se uzavře do uvozovek, protože čárka patří do názvu. Pouhé rozdělení řádku při každé čárce by posunulo buňky do chybných sloupců. MultiVerto sestaví seznam sloupců z nalezených klíčů. Pokud pozdější záznam přidá nový klíč, vznikne další sloupec a chybějící buňky předchozích řádků zůstanou prázdné. Vždy proto prohlédněte záhlaví a nepředpokládejte shodné schéma všech vstupních řádků. Prázdný řádek uprostřed JSONL nebo chybějící uvozovka znamená chybu vstupu.
- JSONL: jeden objekt na řádek
- Pole JSON: oba objekty pohromadě
- CSV: záhlaví a správně citovaná pole
- Excel: typy a počet řádků
Rozhodněte, co znamenají prázdné hodnoty a typy
CSV obsahuje textová pole, nikoli původní datové typy JSON. Řetězec "001" se zapíše jako 001, číslo 12.5 jako 12.5 a null jako prázdná buňka. Chybějící vlastnost amount vytvoří rovněž prázdnou buňku; stejně může vypadat i skutečně prázdný řetězec. Ze samotného CSV pak nelze určit, který případ nastal. Pokud na rozdílu záleží, přidejte před exportem pomocný sloupec se stavem nebo dohodnutou a popsanou značku. Převodník odmítá vnořené objekty a pole, protože obyčejná buňka CSV pro ně nemá všeobecně přijímanou podobu. Tyto hodnoty rozdělte do pojmenovaných sloupců podle jasného schématu, nebo ponechte JSONL, když se vnoření nesmí ztratit. Tichý převod objektu na text by příjemce mohl svést k mylnému výkladu.
Importujte do Excelu s výslovně zvolenými typy
Uložte CSV jako textový soubor v UTF-8 a v Excelu otevřete Data → Z textu/CSV. Zkontrolujte oddělovač a náhled znaků, aby Zoë zůstalo čitelné. Sloupec id nastavte před načtením na Text; automatický převod čísel může změnit 001 na 1. Stejně pečlivě zacházejte s dlouhými identifikátory a kódy připomínajícími datum. Náhled má zobrazit tři sloupce a dva datové řádky. První i poslední záznam porovnejte s původním JSONL. Místní nastavení může ovlivnit výklad desetinné tečky a oddělovače, přestože syntaxe CSV je správná. Pokud cílová aplikace vyžaduje středníky, proveďte tuto změnu jako oddělený a popsaný krok. Originál uchovejte, aby změna zobrazení nebyla zaměněna za změnu zdrojových dat.
Ověřte výsledek a hlídejte nedůvěryhodné buňky
Spočítejte vstupní řádky, prvky pole JSON a datové řádky CSV; v našem příkladu musí být všechny tři počty dva. Ověřte, že id 001 zůstalo textem, Ana, Ltd je v jedné buňce, Zoë neztratilo znak ë a prázdná částka má zamýšlený význam. Nástroj CSV na JSON pomůže prohlédnout konečné sloupce, ale vrací řetězce a sám neobnoví původní čísla ani null. Pokud záznamy pocházejí od uživatelů nebo jiného nedůvěryhodného zdroje, před otevřením souboru posuďte buňky, které by tabulkový procesor mohl chápat jako vzorce. Uvozovky CSV řeší oddělení polí, ale samy nejsou úplnou ochranou před vzorci. Dodržte pravidla bezpečnosti příjemce a pro opakovaný postup zapište sloupce, typy, kódování a očekávaný počet řádků.