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"}
我在将 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"}