如果我在这样的数组上使用json_encode():
return json_encode(array( 'foo' => 'bar'));
Run Code Online (Sandbox Code Playgroud)
回报是:
{'foo' : 'bar'}
Run Code Online (Sandbox Code Playgroud)
密钥作为文字传递,这是我的脚本绊倒.我真正需要的是:
{ foo : 'bar' }
Run Code Online (Sandbox Code Playgroud)
json_encode是这样做还是我必须用一些丑陋的正则表达式来删除引号?
Pas*_*TIN 14
当我测试这部分代码时:
echo json_encode(array( 'foo' => 'bar'));
die;
Run Code Online (Sandbox Code Playgroud)
我明白了:
{"foo":"bar"}
Run Code Online (Sandbox Code Playgroud)
哪个是有效的JSON.
(注意这些是双引号,而不是你发布的简单引号)
你要求的输出:
{ foo : 'bar' }
Run Code Online (Sandbox Code Playgroud)
是有效的Javascript,但无效JSON - 所以json_encode不会返回.
有关JSON格式的规范,请参阅json.org - 这是Javascript的一个子集,而不是Javascript本身.
你应该调整你的代码,
而不是" 用一些丑陋的正则表达式来剥离自己的引用 ",所以它接受有效的JSON:在我看来,这样做更好.