IMB
IMB

Reputation: 15889

json_decode() returns blank but it's valid 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() returns blank.

json_last_error() returns 4 which is JSON_ERROR_SYNTAX

But, when I run the json string in http://jsonlint.com/ it returns Valid JSON

Any ideas why?

Upvotes: 9

Views: 6924

Answers (2)

user871784
user871784

Reputation: 1257

Try to set encoding to utf-8...did the job for me

Upvotes: 0

Anirudh Ramanathan
Anirudh Ramanathan

Reputation: 46728

You need to escape your \ once for PHP and once again for JSON

D:\\\\....

Upvotes: 12

Related Questions