Come posso formattare un file JSON, con tutti i rientri corretti e tutto il resto?

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

  • Potresti mostrarci un file di esempio? Questo deve essere automatico? In caso contrario, caricalo in un editor di testo decente e fallo manualmente (in emacs, seleziona tutto e M-X indent-selection).
  • Dai unocchiata a jq. Molto utile anche se desideri elaborare JSON.

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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *