PHP - Función json_last_error_msg ()

La función json_last_error_msg () puede devolver una cadena de error de la última llamada a json_encode () o json_decode ().

Sintaxis

string json_last_error_msg( void )

La función json_last_error_msg () puede devolver un mensaje de error en caso de éxito, "Sin error" si no ha ocurrido ningún error, o falso en caso de error. Esta función no tiene parámetros.

Ejemplo 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; 
   }
?>

Salida

ERROR: No error

Ejemplo 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");
   }
?>

Salida

Input: {"site":"dev.tutorialspoint.com","topics":{"PHP":"Y","JSON":"Y"]}

json_decode() error: State mismatch (invalid or malformed JSON)