json_decode()返回空白但它是有效的json

时间:2012-07-31 11:01:59

标签: php json

$a = '[{"function":"error_handler","class":"LP","type":"::","args":[256,"Call to undefined method LP_pdo::get_rorzxx() on D:\\MARK\\htdocs\\lessphptest\\application\\controllers\\users.php (23)","D:\\MARK\\htdocs\\lessphp\\LP.php",210,{"e":{"type":1,"message":"Call to undefined method LP_pdo::get_rorzxx()","file":"D:\\MARK\\htdocs\\lessphptest\\application\\controllers\\users.php","line":23}}]},{"file":"D:\\MARK\\htdocs\\lessphp\\LP.php","line":210,"function":"trigger_error","args":["Call to undefined method LP_pdo::get_rorzxx() on D:\\MARK\\htdocs\\lessphptest\\application\\controllers\\users.php (23)",256]},{"function":"shutdown","class":"LP","type":"::","args":[]}]';
$a = json_decode($a);
print_r($a);

echo json_last_error();

print_r()返回空白。

json_last_error()返回4 JSON_ERROR_SYNTAX

但是,当我在http://jsonlint.com/中运行json字符串时,它会返回Valid JSON

任何想法为什么?

2 个答案:

答案 0 :(得分:12)

您需要为PHP转义\一次,再转换为JSON

D:\\\\....

答案 1 :(得分:0)

尝试将编码设置为utf-8 ...为我做了工作