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)