json_encode url fail - PullRequest
       10

json_encode url fail

2 голосов
/ 03 декабря 2009

Кто-нибудь обходил эту ошибку ?

echo json_encode(array('url'=>'/foo/bar'));
{"url":"\/foo\/bar"}

Я использую Zend_Json и Zend_Json_Expr , чтобы я мог получить даже функции обратного вызова внутри моего объекта js - но я не могу получить URL-адрес в доступном формате!

echo Zend_Json::encode(array(
                         'url'=>new Zend_Json_Expr('/foo/bar'),
                       ), false,
                       array(
                         'enableJsonExprFinder' => true),
                       ));

производит:

{"url":/foo/bar}

что, очевидно, тоже неправильно ..

Есть ли в любом случае, чтобы получить:

{"url":"/foo/bar"}

без необходимости делать что-то смешное, например, найти способ переопределить его перед отправкой в ​​stdio?

1 Ответ

7 голосов
/ 03 декабря 2009

{"url":"\/foo\/bar"} на самом деле полностью допустимый и правильный JSON для "/ foo / bar". Попробуйте расшифровать это значение, используя json_decode() или Zend_Json::decode(), и он должен правильно вывести исходный URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...