Ho un file JSON su CentOS in cui tutto il testo è sulla stessa riga. Come posso formattarlo con tutti i rientri corretti e tutto il resto?
Commenti
Rispondi
Usa jq un ottimo processore JSON e, per preferenze personali, è il migliore disponibile sul mercato
solo per una stampa carina, usa
jq . file_name
Commenti
- Il problema che ho attualmente con jq è che è molto liberale. Fondamentalmente voglio solo che cambi gli spazi bianchi, ma invece cambia cose come 1.23e5 a 123000 e 0 a 0.0 e NaN a null e cose del genere. Per questo motivo non posso ' fidarmi più di esso. ' non è solo un formattatore, ma ' è anche un disinfettante allo stesso tempo, il che non è quello che voglio adesso.
Risposta
Se non vuoi installare un pacchetto aggiuntivo e hai a disposizione python puoi fare:
python -m json.tool myfile.json
Supporta anche la lettura da STDIN
Answer
Utilizza il pacchetto yajl
, Yet Another JSON Library. Su CentOS 7 si trova nel repository di base ed è molto probabilmente già installato sulla macchina.
Per stampare in modo carino un file JSON:
cat myfile.json | json_reformat
o semplicemente
json_reformat < myfile.json
Per verificare che un file sia nella sintassi JSON corretta:
json_verify < myfile.json
Commenti
- installa con
sudo apt install yajl-tools
in Ubuntu.
M-X indent-selection
).jq
. Molto utile anche se desideri elaborare JSON.