PHP tiene dos funciones incorporadas para trabajar con los datos JSON. Estos son
JSON_ENCODE () y
json_decode () funciones. La función JSON_ENCODE () se usa para codificar los datos JSON y la función JSON_DECODE () se usa para decodificar los datos JSON codificados. Esta función crea un objeto php a partir de un objeto JSON. Los diferentes usos de la función json_decode () se muestran en este tutorial.
Sintaxis:
JSON_DECOD mixtoe (cadena $ json, bool $ asociative = null, int $ profundidad = 512, int $ flags = 0)
Esta función tiene cuatro argumentos. El primer argumento es obligatorio y los otros argumentos son opcionales. Los propósitos de estos argumentos se describen en lo siguiente:
- $ JSON: contiene los datos JSON que están decodificados y solo admite la cadena codificada UTF-8.
- $ Associstive: contiene un valor booleano. Si el valor de este argumento se establece en verdadero, la función devuelve una matriz asociativa del objeto JSON. Si el valor de este argumento se establece en False, la función devuelve un objeto.
- $ profundidad: se utiliza para definir la profundidad anidada de la estructura que está decodificada. El valor de este argumento es entre 1 y 2147483647.
- $ Flag: contiene el bitmask de json_bigint_as_string, json_invalid_utf8_ignore, json_invalid_utf8_substitute, json_object_as_array, json_throw_error.
La función devuelve el valor JSON codificado del tipo PHP si los datos codificados están dentro de la profundidad anidada. De lo contrario, la función devuelve nulo.
Diferentes ejemplos de función json_encode ()
Los diferentes usos de la función JSON_ENCODE () se muestran en esta parte del tutorial utilizando múltiples ejemplos.
Ejemplo 1: Convertir datos JSON simples en una matriz de PHP
Cree un archivo PHP con el siguiente script que convierte el objeto JSON en un objeto PHP y una matriz PHP utilizando la función JSON_DECODE0. Cuando la función JSON_DECODE () se usa con un argumento, el objeto JSON se convierte en un objeto PHP. Cuando la función JSON_DECODE () se usa con los dos primeros argumentos, el objeto JSON se convierte en una matriz PHP. En este ejemplo se utiliza un objeto JSON con datos JSON simples de cinco propiedades.
// declara una cadena JSON simple
$ jSondata = '"01": "Libro", "02": "Pen", "03": "lápiz", "04": "Rular", "05": "Paper"';
// decodificar los datos de JSON en un objeto PHP
eco "
Los datos JSON decodificados como objeto:";
print_r (json_decode ($ jsondata));
// decodificar los datos de JSON en una matriz de PHP
eco "
Los datos JSON decodificados como matriz asociativa:";
print_r (json_decode ($ jsondata, true));
?>
Producción:
La siguiente salida aparece después de ejecutar el script anterior:
Ejemplo 2: imprima los nombres y valores de la propiedad JSON
Cree un archivo PHP con el siguiente script que convierte el objeto JSON en una matriz PHP usando la función JSON_DECODE0. En este ejemplo se utiliza un objeto JSON con datos JSON simples de cinco propiedades. A continuación, el "para cadaEl bucle se usa para leer e imprimir las teclas y valores de la matriz PHP.
// declara una cadena JSON simple
$ productTypes = '"t01": "hdd", "t02": "monitor", "t03": "mouse", "t04": "impresora", "t05": "teclado"';
// decodificar los datos de JSON en una matriz de PHP
$ PhParray = json_decode ($ productTypes, true);
eco "
Nombre del producto de identificación ";
// imprime los elementos de la matriz asociativa usando el bucle
foreach ($ phparray as $ index => $ valor)
Índice de echo $.".$ valor."
";
?>
Producción:
La siguiente salida aparece después de ejecutar el script anterior:
Ejemplo 3: Busque la propiedad JSON particular
Cree un archivo PHP con el siguiente script que convierta el objeto JSON en una matriz PHP y se buscará el valor de ID particular en la matriz. Si el valor existe en la matriz, se imprimen los otros valores correspondientes. Aquí, el valor de ID de búsqueda se toma del parámetro URL.
// declarar un objeto JSON de más de una profundidad
$ customerData = '[
"Id": "056345", "Nombre": "Mira Hossain", "Correo electrónico": "
[email protected] "," Contact_no ":"+8801954532367 ",
"Id": "056335", "nombre": "Mohammed Abir", "Correo electrónico": "
[email protected] "," Contact_no ":"+8801858722209 ",
"Id": "056387", "Nombre": "Alif Chowdhury", "Correo electrónico": "
[email protected] "," Contact_no ":"+8801700785321 ",
"Id": "056391", "Nombre": "Nipa Roy", "Correo electrónico": "
[email protected] "," Contact_no ":"+880180006342 ",
"Id": "056395", "nombre": "anam ali", "correo electrónico": "
[email protected] "," Contact_no ":"+880159126543 "
] ';
// Crear la matriz PHP de los datos JSON
$ CUTRAY = JSON_DECODE ($ CustomerData, true);
// Verifique que la ID de búsqueda se proporcione en la URL o no
if (isset ($ _ get ['src']))
// Lea la ID de búsqueda de la URL
$ SearchId = $ _get ['src'];
$ encontrado = falso;
// imprima la información del cliente de la identificación particular si existe en la matriz
para ($ index = 0; $ índice < count($custArray); $index++)
if ($ curoray [$ index] ["id"] == $ SearchId)
eco "
Detalles del cliente: ";
Echo "Nombre:".$ CUTRARAY [$ índice] ["Nombre"]."
";
Echo "Correo electrónico:".$ CUTRARAY [$ índice] ["Correo electrónico"]."
";
Echo "Contacto no:".$ CUTRARAY [$ índice] ["Contact_NO"]."
";
$ encontrado = verdadero;
romper;
if ($ encontrado == falso)
Echo "La identificación del cliente no existe.";
demás
Echo "La identificación de búsqueda no se da."
?>
Producción:
La siguiente salida aparece después de ejecutar el script anterior si no se proporciona ningún valor de identificación en la URL:
La siguiente salida aparece después de ejecutar el script anterior si el valor de identificación que se proporciona en la URL existe en la matriz PHP que se genera a partir del objeto JSON:
La siguiente salida aparece después de ejecutar el script anterior si el valor de identificación que se proporciona en la URL no existe en la matriz PHP que se genera a partir del objeto JSON:
Ejemplo 4: Genere un error para el objeto JSON incorrecto
Cree un archivo PHP con el siguiente script que muestra un error al momento de convertir el objeto JSON a un objeto PHP si el objeto JSON contiene algún error. El objeto JSON que se usa en este ejemplo contiene un error en el valor de la segunda propiedad. Falta la cita doble (") para el valor de la propiedad", "Bolígrafo".
// declara una cadena JSON simple
$ jSondata = '"01": "Libro", "02": Pen "," 03 ":" lápiz "," 04 ":" Rular "," 05 ":" Paper "';
// decodificar los datos de JSON en un objeto PHP
eco "
Los datos JSON decodificados como objeto:";
print_r (json_decode ($ jsondata));
// Imprima el error de error y el mensaje de error si existe
echo "Error no:
".json_last_error ()." "."Mensaje de error:
".json_last_error_msg ()."";
?>
?>
Producción:
La siguiente salida aparece después de ejecutar el script anterior:
Conclusión
Las diferentes formas de analizar los datos JSON utilizando la función JSON_DECODE () se explican en este tutorial utilizando ejemplos simples. Esperamos que el propósito de usar la función JSON_DECODE () se borre para los usuarios de PHP después de leer este tutorial.