JSON 在 Slim 框架中编码

JSON encode in Slim framework

我在将 JSON 编码数组发送到我的视图时遇到问题。

所以我在我的路线中这样做

$data['values'] = array('name'=>'John');
$data['values'] = json_encode($data['values']);
return $this->view->render($res, 'githubpresentation.html', $data);

在我看来,我在脚本标签中这样做

var values = "{{values}}" ;
console.log(values);

values = JSON.parse(values);
console.log(values);

第一个 console.log,在 JSON.parse 输出之前:

{"name":"John"}

当我执行 JSON.parse 时,当然会出现错误

Unexpected token & in JSON at position 1

现在我可以对 " 进行某种替换,但我真的需要这样做吗?我不能从服务器发送 JSON 吗?

这与默认值escaping strategy有关。您可以使用 js 修复它:

var values = "{{values|e('js')}}" ;
console.log(values);

values = JSON.parse(values);
console.log(values);

输出:

{"name":"John"}
Object {name: "John"}