php

Cómo leer e imprimir JSON bonito con PHP

Cómo leer e imprimir JSON bonito con PHP
JSON es un formato de almacenamiento de datos popular para intercambiar datos entre el servidor y el navegador. Se deriva de JavaScript y es compatible con muchos lenguajes de programación estándar. Es un formato de archivo legible por humanos que cualquiera puede entender fácilmente si se imprime con el formato adecuado. Los datos JSON se imprimen en una sola línea cuando no se aplica ningún formato. Pero este tipo de salida no es tan fácil de entender. Por lo tanto, los datos JSON formateados son muy importantes para comprender la estructura de los datos para el lector. Pretty print se usa para formatear los datos JSON. Los datos JSON se pueden representar en una forma más legible para los humanos mediante el uso de una impresión bonita. Hay muchas formas de aplicar una impresión bonita en datos JSON. En este tutorial se muestra cómo puede aplicar JSON Pretty Printing usando PHP usando varios ejemplos.

Ejemplo 1: imprimir JSON sin formatear

json_encode () La función de PHP se utiliza para analizar cualquier dato JSON. Crea un archivo llamado exp1.php con el siguiente código para leer datos JSON simples e imprimir la salida. Aquí, se declara una matriz asociativa para generar datos JSON. No se aplica formato a los datos JSON en el código. Entonces, los datos JSON se imprimirán en una sola línea en formato JSON.

exp1.php

// Declara la matriz
$ cursos = matriz ("Módulo-1" => "HTML", "Módulo-2" => "JavaScript", "Módulo-3" => "CSS3",
"Módulo-4" => "PHP");
// Imprime la matriz en un formato JSON simple
echo json_encode ($ cursos);
?>

Producción:

La siguiente salida aparecerá después de ejecutar el archivo desde el navegador.

http: // localhost / json / exp1.php

Ejemplo-2: Imprimir JSON usando la opción JSON_PRETTY_PRINT y la función header ()

PHP tiene una opción llamada 'JSON_PRETTY_PRINT' que se usa con json_encode () función para imprimir datos JSON con la alineación adecuada y un formato particular. Crea un archivo llamado exp2.php con el siguiente código. En el código, se usa la misma matriz del ejemplo anterior para ver el uso JSON_PRETTY_PRINT opción. encabezamiento() La función se utiliza aquí para informar al navegador sobre el contenido del archivo. No se aplicará ningún formato sin esta función.      

exp2.php

// Declara la matriz
$ cursos = matriz ("Módulo-1" => "HTML", "Módulo-2" => "JavaScript", "Módulo-3" => "CSS3",
"Módulo-4" => "PHP");
// Notificar al navegador sobre el tipo de archivo usando la función de encabezado
encabezado ('Tipo de contenido: texto / javascript');
// Imprime la matriz en un formato JSON simple
echo json_encode ($ cursos, JSON_PRETTY_PRINT);
?>

Producción:

La siguiente salida aparecerá después de ejecutar el archivo desde el navegador. Se aplicará una fuente y una alineación específicas.

http: // localhost / json / exp2.php

Ejemplo-3: Imprima JSON usando la opción JSON_PRETTY_PRINT y
 etiqueta

El formato que se aplica en el ejemplo anterior se puede hacer usando 'pre'etiqueta en lugar de encabezamiento() función. Crea un archivo llamado exp3.php con el siguiente código. En este ejemplo, comenzando el 'pre' la etiqueta se usa antes de generar datos JSON. La salida será similar al ejemplo anterior.

exp3.php

$ data_arr = array ('Robin Nixon' => 'Aprendiendo PHP, MySQL y JavaScript',
'Jon Duckett' => 'HTML y CSS: Diseño y creación de sitios web', 'Rob Foster' =>
'Libro de cocina CodeIgniter 2');
?>

echo json_encode ($ data_arr, JSON_PRETTY_PRINT);
?>

Producción:

La siguiente salida aparecerá después de ejecutar el archivo desde el navegador.

http: // localhost / json / exp3.php

Ejemplo 4: Impresión JSON colorida con la función personalizada

Los datos JSON formateados se imprimen utilizando JSON_PRETTY_PRINT opción de PHP en los ejemplos anteriores. Pero si desea imprimir datos JSON con el formato personalizado, es mejor usar la función definida por el usuario de PHP. En este ejemplo se muestra principalmente cómo puede aplicar CSS en datos JSON usando PHP. Crea un archivo PHP llamado exp4.php con el siguiente código. En este ejemplo, se utilizan datos JSON grandes que se almacenan en la variable, $ datos. Una función definida por el usuario, pretty_print () se utiliza en el código para formatear los datos JSON. Esta función tiene un argumento que solía pasar los datos JSON. A por El bucle se utiliza en la función para analizar los datos JSON y aplicar formato de tipos diferentes antes de imprimir los datos.

exp4.php

// Definir un gran dato json
$ data = '"banco de pruebas": "Computadora": "q1": "pregunta": "quién es el inventor de
ordenador?"," opciones ": [" Thomas Alva Edison "," Charles Babbage "," Blaise Pascal ",
"Philo Farnsworth"], "respuesta": "Charles Babbage", "q2": "pregunta":
"¿Cuál de los siguientes es un dispositivo de entrada??"," opciones ": [" Impresora "," Escáner ",
"Monitor", "Teclado"], "respuesta": "Teclado", "PHP": "q1": "pregunta":
"¿Qué tipo de lenguaje es PHP??"," opciones ": [" Idioma de alto nivel "," Nivel bajo
Idioma "," Lenguaje de secuencias de comandos "," Lenguaje ensamblador "]," respuesta ":" Lenguaje de secuencias de comandos ",
"q2": "question": "¿Cuál es la forma completa de PHP??"," opciones ": [" Preprocesador de hipertexto ",
"Paquete de inicio personal", "Procesador de hipertexto", "Página HTML personal"], "respuesta":
"Preprocesador de hipertexto" ';
// llamar a la función personalizada para formatear datos json
echo pretty_print ($ datos);
// Declara la función personalizada para formatear
función pretty_print ($ json_data)

// Inicializar variable para agregar espacio
$ espacio = 0;
$ bandera = falso;
//Utilizando
 etiqueta para formatear la alineación y la fuente
eco "
";
// bucle para iterar los datos json completos
para ($ contador = 0; $ contador
// Comprobando el segundo y tercer paréntesis finales
if ($ json_data [$ contador] == '' || $ json_data [$ contador] == ']')

$ espacio--;
echo "\ n";
echo str_repeat (", ($ espacio * 2));

 
// Comprobación de comillas dobles (“) y coma (,)
if ($ json_data [$ contador] == '"' && ($ json_data [$ contador-1] == ',' ||
$ json_data [$ contador-2] == ','))

echo "\ n";
echo str_repeat (", ($ espacio * 2));

if ($ json_data [$ contador] == '"' && !$ bandera)

if ($ json_data [$ contador-1] == ':' || $ json_data [$ contador-2] == ':')
// Agregar formato para preguntas y respuestas
eco '';
demás
// Agregar formato para las opciones de respuesta
eco '';

echo $ json_data [$ contador];
// Verificando las condiciones para agregar una etiqueta de tramo de cierre
if ($ json_data [$ contador] == '"' && $ bandera)
eco '
';
if ($ json_data [$ contador] == '"')
$ bandera = !$ bandera;
// Comprobando el segundo y tercer paréntesis iniciales
if ($ json_data [$ contador] == '' || $ json_data [$ contador] == '[')

$ espacio ++;
echo "\ n";
echo str_repeat (", ($ espacio * 2));


eco "
";

?>

Producción:

La siguiente salida aparecerá después de ejecutar el archivo desde el navegador. Aquí, cada pregunta y respuesta de los datos JSON se imprimirá con azul color y negrita formato y, otra parte se imprimirá con rojo color.

http: // localhost / json / exp4.php

Conclusión

En este artículo se intenta mostrar cómo puede imprimir datos JSON formateados utilizando varias opciones de PHP. Espero que el lector pueda aplicar PHP para formatear datos JSON y generar una salida JSON bonita después de practicar correctamente los ejemplos anteriores.

Juegos HD remasterizados para Linux que nunca tuvieron un lanzamiento de Linux antes
Muchos desarrolladores y editores de juegos están creando una remasterización HD de juegos antiguos para extender la vida útil de la franquicia, por f...
Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...