Php error log json

Php F::Log(‘JSON: ‘.json_last_error_msg(), LOG_ERR);

This tutorials show you how to use json_last_error_msg.

json_last_error_msg is used in the following way.

F::Log('JSON: '.json_last_error_msg(), LOG_ERR); This function has no parameters.

The json_last_error_msg is declared as follows:

json_last_error_msg(): string 

The return value is Returns the error message on success, or «No error» if no error has occurred.

Examples

/* w w w .d e m o 2 s . c o m*/ /* Codeine * @author bergstein@trickyplan.com * @description: * @package Codeine * @version 8.x */ setFn('Read', function ($Call) < $Result = jd($Call['Value'], true); if (json_last_error() > 0) < F::Log('JSON: '.json_last_error_msg(), LOG_ERR); F::Log($Call['Value'], LOG_ERR); > return $Result; >); setFn('Write', function ($Call) < return j($Call['Value'], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); >); setFn('Write.Call', function ($Call) < $Call['Value'] = j($Call['Value']); return $Call; >);

  • Php ‘Failed to parse json string. Error: ‘.json_last_error_msg()
  • Php . (function_exists(‘json_last_error_msg’) ? ‘: ‘ . json_last_error_msg() : »)
  • Php . json_last_error_msg());
  • Php F::Log(‘JSON: ‘.json_last_error_msg(), LOG_ERR);
  • Php Yii::error(‘Has no body. json: ‘ . json_last_error_msg(), ‘ApnsGcm’);
  • Php array(‘URL’ => htmlentities($sUrl, ENT_COMPAT, ‘UTF-8’), ‘MSG’ => json_last_error_msg())));
  • Php echo ‘Invalid JSON: ‘ . json_last_error_msg() . «\n»;

demo2s.com | Email: | Demo Source and Support. All rights reserved.

Источник

json_last_error

Возвращает последнюю ошибку (если она есть), произошедшую во время последнего кодирования/декодирования JSON если при вызове не использовался флаг JSON_THROW_ON_ERROR .

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает целочисленное значение, которое может быть одной из следующих констант:

Коды ошибок JSON

Константа Значение Доступность
JSON_ERROR_NONE Ошибок нет
JSON_ERROR_DEPTH Достигнута максимальная глубина стека
JSON_ERROR_STATE_MISMATCH Неверный или некорректный JSON
JSON_ERROR_CTRL_CHAR Ошибка управляющего символа, возможно неверная кодировка
JSON_ERROR_SYNTAX Синтаксическая ошибка
JSON_ERROR_UTF8 Некорректные символы UTF-8, возможно неверная кодировка
JSON_ERROR_RECURSION Одна или несколько зацикленных ссылок в кодируемом значении
JSON_ERROR_INF_OR_NAN Одно или несколько значений NAN или INF в кодируемом значении
JSON_ERROR_UNSUPPORTED_TYPE Передано значение с неподдерживаемым типом
JSON_ERROR_INVALID_PROPERTY_NAME Имя свойства не может быть закодировано
JSON_ERROR_UTF16 Некорректный символ UTF-16, возможно некорректно закодирован

Примеры

Пример #1 Пример использования json_last_error()

// Неверная json-строка, которая вызовет синтаксическую ошибку,
// здесь в качестве кавычек мы используем ‘ вместо »
$json [] = «» ;

foreach ( $json as $string ) echo ‘Декодируем: ‘ . $string ;
json_decode ( $string );

switch ( json_last_error ()) case JSON_ERROR_NONE :
echo ‘ — Ошибок нет’ ;
break;
case JSON_ERROR_DEPTH :
echo ‘ — Достигнута максимальная глубина стека’ ;
break;
case JSON_ERROR_STATE_MISMATCH :
echo ‘ — Некорректные разряды или несоответствие режимов’ ;
break;
case JSON_ERROR_CTRL_CHAR :
echo ‘ — Некорректный управляющий символ’ ;
break;
case JSON_ERROR_SYNTAX :
echo ‘ — Синтаксическая ошибка, некорректный JSON’ ;
break;
case JSON_ERROR_UTF8 :
echo ‘ — Некорректные символы UTF-8, возможно неверно закодирован’ ;
break;
default:
echo ‘ — Неизвестная ошибка’ ;
break;
>

Результат выполнения данного примера:

Декодируем: - Ошибок нет Декодируем: - Синтаксическая ошибка, некорректный JSON

Пример #2 Совместное использование json_last_error() и json_encode()

// Некорректная последовательность UTF8
$text = «\xB1\x31» ;

$json = json_encode ( $text );
$error = json_last_error ();

var_dump ( $json , $error === JSON_ERROR_UTF8 );
?>

Результат выполнения данного примера:

Пример #3 json_last_error() и JSON_THROW_ON_ERROR

// Некорректная последовательность UTF8, вызывающая JSON_ERROR_UTF8
json_encode ( «\xB1\x31» );

// Не вызовет ошибки JSON
json_encode ( ‘okay’ , JSON_THROW_ON_ERROR );

// Глобальное состояние не будет изменено json_encode()
var_dump ( json_last_error () === JSON_ERROR_UTF8 );
?>

Результат выполнения данного примера:

Источник

json_last_error

Возвращает последнюю ошибку (если она есть), произошедшую во время последнего кодирования/декодирования JSON если при вызове не использовался флаг JSON_THROW_ON_ERROR .

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает целочисленное значение, которое может быть одной из следующих констант:

Коды ошибок JSON

Константа Значение Доступность
JSON_ERROR_NONE Ошибок нет
JSON_ERROR_DEPTH Достигнута максимальная глубина стека
JSON_ERROR_STATE_MISMATCH Неверный или некорректный JSON
JSON_ERROR_CTRL_CHAR Ошибка управляющего символа, возможно неверная кодировка
JSON_ERROR_SYNTAX Синтаксическая ошибка
JSON_ERROR_UTF8 Некорректные символы UTF-8, возможно неверная кодировка
JSON_ERROR_RECURSION Одна или несколько зацикленных ссылок в кодируемом значении
JSON_ERROR_INF_OR_NAN Одно или несколько значений NAN или INF в кодируемом значении
JSON_ERROR_UNSUPPORTED_TYPE Передано значение с неподдерживаемым типом
JSON_ERROR_INVALID_PROPERTY_NAME Имя свойства не может быть закодировано
JSON_ERROR_UTF16 Некорректный символ UTF-16, возможно некорректно закодирован

Примеры

Пример #1 Пример использования json_last_error()

// Неверная json-строка, которая вызовет синтаксическую ошибку,
// здесь в качестве кавычек мы используем ‘ вместо »
$json [] = «» ;

foreach ( $json as $string ) echo ‘Декодируем: ‘ . $string ;
json_decode ( $string );

switch ( json_last_error ()) case JSON_ERROR_NONE :
echo ‘ — Ошибок нет’ ;
break;
case JSON_ERROR_DEPTH :
echo ‘ — Достигнута максимальная глубина стека’ ;
break;
case JSON_ERROR_STATE_MISMATCH :
echo ‘ — Некорректные разряды или несоответствие режимов’ ;
break;
case JSON_ERROR_CTRL_CHAR :
echo ‘ — Некорректный управляющий символ’ ;
break;
case JSON_ERROR_SYNTAX :
echo ‘ — Синтаксическая ошибка, некорректный JSON’ ;
break;
case JSON_ERROR_UTF8 :
echo ‘ — Некорректные символы UTF-8, возможно неверно закодирован’ ;
break;
default:
echo ‘ — Неизвестная ошибка’ ;
break;
>

Результат выполнения данного примера:

Декодируем: - Ошибок нет Декодируем: - Синтаксическая ошибка, некорректный JSON

Пример #2 Совместное использование json_last_error() и json_encode()

// Некорректная последовательность UTF8
$text = «\xB1\x31» ;

$json = json_encode ( $text );
$error = json_last_error ();

var_dump ( $json , $error === JSON_ERROR_UTF8 );
?>

Результат выполнения данного примера:

Пример #3 json_last_error() и JSON_THROW_ON_ERROR

// Некорректная последовательность UTF8, вызывающая JSON_ERROR_UTF8
json_encode ( «\xB1\x31» );

// Не вызовет ошибки JSON
json_encode ( ‘okay’ , JSON_THROW_ON_ERROR );

// Глобальное состояние не будет изменено json_encode()
var_dump ( json_last_error () === JSON_ERROR_UTF8 );
?>

Результат выполнения данного примера:

Источник

Читайте также:  Override functions in php
Оцените статью