¿Cómo puedo formatear un archivo JSON, con todas las sangrías correctas y todo?

Tengo un archivo JSON en CentOS donde todo el texto está en la misma línea. ¿Cómo puedo formatearlo con todas las sangrías correctas y todo?

Comentarios

  • ¿Podría mostrarnos un archivo de ejemplo? ¿Es necesario que esto sea automático? Si no, simplemente cárguelo en un editor de texto decente y hágalo manualmente (en emacs, seleccione todo y M-X indent-selection).
  • Eche un vistazo a jq. También es muy útil si desea procesar JSON.

Respuesta

Use jq un muy buen procesador JSON y por preferencia personal, es el mejor disponible en el mercado

para una impresión bonita, use

jq . file_name 

Comentarios

  • El problema que tengo actualmente con jq es que es muy liberal. Básicamente, solo quiero que cambie los espacios en blanco, pero en cambio cambia cosas como 1.23e5 a 123000 y 0 a 0.0 y NaN a nulo y esas cosas. Debido a esto, no puedo ' confiar más en él. ' no es solo un formateador, ' también es un desinfectante al mismo tiempo, que no es lo que quiero en este momento.

Respuesta

Si no desea instalar un paquete adicional y tiene Python disponible, puede hacer:

python -m json.tool myfile.json 

También admite la lectura de STDIN

Respuesta

Utilice el paquete yajl, otra biblioteca JSON más. En CentOS 7, se encuentra en el repositorio base y probablemente ya esté instalado en la máquina.

Para imprimir con estilo un archivo JSON:

cat myfile.json | json_reformat 

o simplemente

json_reformat < myfile.json 

Para verificar que un archivo tiene la sintaxis JSON correcta:

json_verify < myfile.json 

Comentarios

  • instalar con sudo apt install yajl-tools en Ubuntu.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *