Php – json_encode url fail


Has anyone way around this bug?

echo json_encode(array('url'=>'/foo/bar'));

I use Zend_Json and Zend_Json_Expr so I can get even callback functions inside my js object — but I can't get a url to come out in a usable format!

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



which obviously isn't right either..

Is there anyway to get:


without having to do anything ridiculous like find a way to regex it out before sending it to stdio?

Best Solution

{"url":"\/foo\/bar"} is actually completely valid and correct JSON for "/foo/bar". Try decoding that value using json_decode() or Zend_Json::decode() and it should output your original URL correctly.

Related Question