这就是我想要做的。我想更改下面的关联数组中的键
array("role" => "annotation");
上面的代码返回JSON
的结果{"role": "annotation"}
我希望上面的输出类似于
下面的输出{role: "annotation"}
答案 0 :(得分:4)
JSON string keys are always quoted。如果他们不是,他们就不会与JSON标准兼容。无法使用json_encode()
更改此行为。
如果你想要JavaScript对象文字,允许不带引号的字符串键,你需要编写自己的代码来输出,我不推荐。
答案 1 :(得分:-1)
试试这个
$a = array($role => "annotation");
echo $a = preg_replace('/"([^"]+)"\s*:\s*/', '$1:', json_encode($a));
答案 2 :(得分:-1)
@Kapil
preg_replace('/"([^\s"]+)"\s*:\s*/', '$1:', $json);
是更安全的选择。