¿Cómo puedo embellecer JSON programáticamente? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

¿Conoce algún "JSON Beautifier" para JavaScript?

De

{"name":"Steve","surname":"Jobs","company":"Apple"}

A

{
  "name" : "Steve",
  "surname" : "Jobs",
  "company" : "Apple"
}

Ejemplo

some_magic(jsonObj); // return beautified JSON
Author: Bhargav Rao, 2010-04-11

2 answers

Solución de formato programático:

El método JSON.stringify soportado por muchos navegadores modernos (incluyendo IE8) puede generar una cadena JSON embellecida:

JSON.stringify(jsObj, null, "\t"); // stringify with tabs inserted at each level
JSON.stringify(jsObj, null, 4);    // stringify with 4 spaces at each level
Demo: http://jsfiddle.net/AndyE/HZPVL/

Este método también se incluye con json2.js , para soportar navegadores antiguos.

Solución de formato manual

Si no necesitas hacerlo programáticamente, prueba JSON Lint. No solo embellecerá su JSON, sino que lo validará al mismo tiempo.

 557
Author: Andy E,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-10 15:42:31

Aquí hay algo que podría ser interesante para los desarrolladores hackear (minificado u ofuscado) JavaScript con más frecuencia.

Puede construir su propio CLI JavaScript beautifier en menos de 5 minutos y tenerlo a mano en la línea de comandos. Necesitarás Mozilla Rhino , un archivo JavaScript de algunos de los embellecedores JS disponibles en línea, un pequeño hack y un archivo de script para envolverlo todo.

Escribí un artículo explicando el procedimiento: beautifier de JavaScript de línea de comandos implementado en JavaScript .

 2
Author: Shonzilla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-13 13:28:14