La función json_decode() es una función incorporada en PHP que se usa para decodificar una string JSON. Convierte una string codificada en JSON en una variable de PHP.
Sintaxis:
json_decode( $json, $assoc = FALSE, $depth = 512, $options = 0 )
Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- json: contiene la string JSON que debe decodificarse. Solo funciona con strings codificadas en UTF-8.
- assoc: Es una variable booleana. Si es verdadero, los objetos devueltos se convertirán en arrays asociativas.
- profundidad: Indica la profundidad de recursión especificada por el usuario.
- opciones: incluye máscara de bits de JSON_OBJECT_AS_ARRAY, JSON_BIGINT_AS_STRING, JSON_THROW_ON_ERROR.
Valores devueltos: esta función devuelve el valor JSON codificado en el tipo de PHP apropiado. Si el json no se puede decodificar o si los datos codificados son más profundos que el límite de recurrencia, devuelve NULL.
Los siguientes ejemplos ilustran el uso de la función json_decode() en PHP:
Ejemplo 1:
<?php // Declare a json string $json = '{"g":7, "e":5, "e":5, "k":11, "s":19}'; // Use json_decode() function to // decode a string var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
Producción:
object(stdClass)#1 (4) { ["g"]=> int(7) ["e"]=> int(5) ["k"]=> int(11) ["s"]=> int(19) } array(4) { ["g"]=> int(7) ["e"]=> int(5) ["k"]=> int(11) ["s"]=> int(19) }
Ejemplo 2:
<?php // Declare a json string $json = '{"geeks": 7551119}'; // Use json_decode() function to // decode a string $obj = json_decode($json); // Display the value of json object print $obj->{'geeks'}; ?>
Producción:
7551119
Errores comunes al usar la función json_decode():
- Las strings utilizadas son JavaScript válido pero no JSON válido.
- El nombre y el valor deben estar entre comillas dobles, no se permiten comillas simples.
- No se permiten comas finales.
Referencia: http://php.net/manual/en/function.json-decode.php