(PHP 5 >= 5.3.0)
json_last_error — Devuelve el último error que ocurrió
Retorna el último error (si existe) que ocurrió en el último análisis JSON.
Esta función no tiene parámetros.
Devuelve un integer, el valor puede ser una de las siguientes constantes:
Constante | Significado | Disponibilidad |
---|---|---|
JSON_ERROR_NONE | No ocurrió ningún error | |
JSON_ERROR_DEPTH | Se ha excedido la profundidad máxima de la pila | |
JSON_ERROR_CTRL_CHAR | Error del carácter de control, posiblemente se ha codificado de forma incorrecta | |
JSON_ERROR_STATE_MISMATCH | JSON con formato incorrecto o inválido | |
JSON_ERROR_SYNTAX | Error de sintaxis | |
JSON_ERROR_UTF8 | Caracteres UTF-8 mal formados, posiblemente codificados de forma incorrecta | PHP 5.3.3 |
Example #1 Ejemplo de json_last_error()
<?php
// Un string json válido
$json[] = '{"Organización": "Equipo de documentación PHP"}';
// Un string json no válido que causa un error de sintaxis, en este caso, se ha
// usado ' en vez de " para entrecomillar
$json[] = "{'Organización': 'Equipo de documentación PHP'}";
foreach($json as $string)
{
echo 'Decodificando: ' . $string;
json_decode($string);
switch(json_last_error())
{
case JSON_ERROR_DEPTH:
echo ' - Excedido tamaño máximo de la pila';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Encontrado carácter de control no esperado';
break;
case JSON_ERROR_SYNTAX:
echo ' - Error de sintaxis, JSON mal formado';
break;
case JSON_ERROR_NONE:
echo ' - Sin errores';
break;
}
echo PHP_EOL;
}
?>
El resultado del ejemplo sería:
Decoding: {"Organización": "Equipo de documentación PHP"} - Sin errores Decoding: {'Organización': 'Equipo de documentación PHP'} - Error de sintaxis, JSON mal formado