当使用PHP时json_decode()
,我没有看到区分NULL
表示解码失败的返回值和正确解码的NULL
值的方法:
var_dump(json_decode('nonsense')); // returns NULL
var_dump(json_decode(json_encode(NULL))); // also returns NULL
Run Code Online (Sandbox Code Playgroud)
案例一不会抛出异常.所以我不确定如何测试解码失败.
想法?
Ant*_*ney 33
您必须检查是否json_last_error
存在任何JSON解析错误.
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;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8225 次 |
最近记录: |