<?php
// Uma string json válida
$json[] = '{"Organização": "Time de Documentação PHP"}';
// Uma string json inválida que causará uma sintaxe
// erro, neste caso usamos ' em vez de " para cotação
$json[] = "{'Organização': 'Time de Documentação PHP'}";
foreach ($json as $string) {
echo 'Decodificando: ' . $string;
json_decode($string);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - Sem Erros';
break;
case JSON_ERROR_DEPTH:
echo ' - Profundidade máxima da pilha foi excedida';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - subfluxo ou os modos não combinam';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Caractere de controle inesperado encontrado';
break;
case JSON_ERROR_SYNTAX:
echo ' - Erro de sintaxe, JSON malformado';
break;
case JSON_ERROR_UTF8:
echo ' - Caracteres UTF-8 malformados, possivelmente codificados incorretamente';
break;
default:
echo ' - Erro desconhecido';
break;
}
echo PHP_EOL;
}
?>
O exemplo acima produzirá:
Decodificando: {"Organização": "Time de Documentação PHP"} - Sem erros
Decodificando: {'Organização': 'Time de Documentação PHP'} - Erro de sintaxe, JSON mal formatado