json_encode网址失败

时间:2009-12-03 20:22:35

标签: php zend-framework json

有没有人绕过this bug

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

我使用Zend_Json and 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 个答案:

答案 0 :(得分:7)

{"url":"\/foo\/bar"}实际上是完全有效且正确的“/ foo / bar”JSON。尝试使用json_decode()Zend_Json::decode()解码该值,它应该正确输出原始网址。