Soubory JSON jsou úžasné, protože ukládají sbírku dat ve formátu čitelném pro člověka. Čtení souboru JSON však může být nepříjemné, pokud je soubor JSON minifikován.
Vezměte si toto jako příklad:
Počítač to může snadno přečíst. Dokonce i člověk to může stále číst, ale pokud je soubor JSON správně naformátován pro zobrazení obsahu, bude to mnohem jednodušší. Myslím tím, že soubory JSON by se nakonec měly číst takto:
K zobrazení se správným formátováním můžete použít většinu textových editorů s některými pluginy. Nicméně, pokud jste přilepeni k terminálu nebo pokud to chcete udělat ve vašem shell skriptu, věci budou jiné.
Pokud máte miniifikovaný soubor, dovolte mi ukázat vám, jak pěkně vytisknout soubor JSON v terminálu Linux.
Krásný tiskový JSON s příkazem jq v Linuxu
jq je procesor JSON příkazového řádku. Můžete jej použít k rozdělení, filtrování, mapování a transformaci strukturovaných dat. Nebudu zde podrobně popisovat použití nástroje příkazového řádku jq.
Chcete-li používat jq, musíte jej nejprve nainstalovat. K instalaci můžete použít správce balíčků vaší distribuce. S povoleným úložištěm vesmíru jej můžete nainstalovat na Ubuntu pomocí příkazu apt:
sudo apt install jq
Jakmile jej nainstalujete, použijte jej následujícím způsobem k vytištění souboru JSON na displeji:
jq . sample.json
Můžete také svádět použití cat, ale věřím, že je to jedno z neužitečných použití cat command.
cat sample.json | jq
Mějte na paměti, že výše uvedený příkaz neovlivní původní soubor JSON. Do něj nebudou zapsány žádné změny.
Pravděpodobně již víte, jak přesměrovat výstup příkazu do souboru v Linuxu. Pravděpodobně také víte, že nemůžete přesměrovat na stejný soubor a není zaručeno, že příkaz tee bude fungovat po celou dobu.
Pokud chcete upravit původní soubor JSON s pěkným tiskovým formátem, můžete analyzovaný výstup zpracovat do nového souboru a poté jej zkopírovat do původního souboru JSON.
jq . sample.json > pretty.json
Bonus:Minifikujte soubor JSON pomocí příkazu jq
Zaujme opačný postoj a minifikujme dobře naformátovaný soubor JSON. Chcete-li minifikovat soubor JSON, můžete použít kompaktní volbu -c.
jq -c < pretty.json
Pokud chcete, můžete také použít cat a přesměrování:
cat pretty.json | jq -c
Použití Pythonu k pěknému tisku souboru JSON v Linuxu
Je pravděpodobnější, že máte ve svém systému nainstalovaný Python. Pokud je to tak, můžete jej použít k vytištění souboru JSON v terminálu:
python3 -m json.tool sample.json
Vím, že existují jiné způsoby, jak analyzovat soubor JSON a vytisknout jej ve správném formátu. Můžete je prozkoumat sami, ale tyto dva jsou dostačující k provedení práce, kterou je pěkný tisk souboru JSON.
Původní článek