print - recorrer json php
PHP "bonita impresiĆ³n" json_encode (4)
Posible duplicado:
Pretty-Printing JSON con PHP
Estoy trabajando en un script que crea un archivo JSON. En este momento solo estoy usando json_encode
(PHP 5.2.x) para codificar una matriz en salida JSON. Luego imprimo el valor devuelto en un archivo y lo guardo. El problema es que el cliente desea poder abrir estos archivos JSON para facilitar su lectura, por lo que me gustaría agregar saltos de línea e "imprimir bastante" la salida JSON. ¿Alguna idea sobre cómo hacer esto? Mi única otra alternativa que puedo ver es no usar json_encode
y simplemente escribir el contenido del archivo manualmente y agregar mis propios saltos de línea para cada línea.
Esto es lo que obtengo:
{"product_name":"prod1","val1":1,"val2":8}
Esto es lo que quiero:
{
"product_name":"prod1",
"val1":1,
"val2":8
}
Supongo que también podría simplemente reemplazar cada coma con un comando seguido de un / n, y lo mismo para los corchetes ... ¿Pensamientos?
Aquí hay una función para mejorar tu json: pretty_json
Hmmm $array = json_decode($json, true);
hará que su cadena sea una matriz que es fácil de imprimir muy bien con print_r($array, true);
Pero si realmente quieres embellecer a tu JSON ... Mira esto
PHP tiene la opción JSON_PRETTY_PRINT desde 5.4.0 (fecha de lanzamiento 01-Mar-2012).
Esto debería hacer el trabajo:
$json = json_decode($string);
echo json_encode($json, JSON_PRETTY_PRINT);
Ver http://www.php.net/manual/en/function.json-encode.php
Nota: No olvide repetir "<pre>" antes y </ pre> después, si lo está imprimiendo en HTML;)
Y para PHP 5.3, puede usar esta función, que puede integrarse en una clase o usarse en un estilo de procedimiento:
http://svn.kd2.org/svn/misc/libs/tools/json_readable_encode.php