PHP - Função json_last_error_msg ()
A função json_last_error_msg () pode retornar uma string de erro da última chamada json_encode () ou json_decode ().
Sintaxe
string json_last_error_msg( void )
A função json_last_error_msg () pode retornar uma mensagem de erro em caso de sucesso, "Sem erro" se nenhum erro tiver ocorrido ou falso em caso de falha. Esta função não possui parâmetros.
Exemplo 1
<?php
$json = '{"name": "Adithya", "age": 20 }';
$decode = json_decode($json, true);
$last_error = json_last_error_msg();
if(strtolower($last_error) != "No Error") {
echo "ERROR: " . $last_error; die;
}
?>
Resultado
ERROR: No error
Exemplo 2
<?php
$json = '{"site":"dev.tutorialspoint.com","topics":{"PHP":"Y","JSON":"Y"]}';
print("\nInput: ".$json."\n");
$array = json_decode($json,true);
if(json_last_error() == JSON_ERROR_NONE) {
print("\nOutput Array:\n");
print(" Type: " . gettype($array) . "\n");
print(" Size: " . count($array) . "\n");
print(" ['site']: " . $array["site"] . "\n");
print(" ['topics']['JSON']: " . $array["topics"]["JSON"] . "\n");
print("\n Output Array Dump:\n");
var_dump($array);
} else {
print("\n json_decode() error: " . json_last_error_msg(). "\n");
}
?>
Resultado
Input: {"site":"dev.tutorialspoint.com","topics":{"PHP":"Y","JSON":"Y"]}
json_decode() error: State mismatch (invalid or malformed JSON)