我在向视图发送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
现在我可以做某种替换& quot ,但我真的需要吗?我不应该能够从服务器发送JSON吗?
答案 0 :(得分:2)
这与默认escaping strategy有关。你可以使用js one来修复它:
var values = "{{values|e('js')}}" ;
console.log(values);
values = JSON.parse(values);
console.log(values);
输出:
{"name":"John"}
Object {name: "John"}