站长论坛

标题: PHP之JSON -json_last_error函数 [打印本页]

作者: superadmin    时间: 2009-7-5 11:56
标题: PHP之JSON -json_last_error函数
json_last_error
(PHP 5 >= 5.3.0)

json_last_error — Returns the last error occured

说明
int json_last_error ( void )
Returns the last error (if any) occured by last JSON parsing.

参数
This function has no parameters.

返回值
Returns an integer, the value can be one of the following constants:

JSON error codes Constant Meaning
JSON_ERROR_NONE No error has occured
JSON_ERROR_DEPTH The maximum stack depth has been exceeded
JSON_ERROR_CTRL_CHAR Control character error, possibly incorrectly encoded
JSON_ERROR_SYNTAX Syntax error

范例

Example #1 json_last_error() example

<?php
// A valid json string
$json[] = '{"Organization": "PHP Documentation Team"}';

// An invalid json string which will cause an syntax
// error, in this case we used ' instead of " for quotation
$json[] = "{'Organization': 'PHP Documentation Team'}";


foreach($json as $string)
{
    echo 'Decoding: ' . $string;
    json_decode($string);

    switch(json_last_error())
    {
        case JSON_ERROR_DEPTH:
            echo ' - Maximum stack depth exceeded';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Unexpected control character found';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Syntax error, malformed JSON';
        break;
        case JSON_ERROR_NONE:
            echo ' - No errors';
        break;
    }

    echo PHP_EOL;
}
?>
上例将输出:

Decoding: {"Organization": "PHP Documentation Team"} - No errors
Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON




欢迎光临 站长论坛 (http://www.tzlink.com/bbs/) Powered by Discuz! X3.2