1

我想知道在 Javascript 代码中解码 JSON 字符串的最佳方法是什么。

我希望我的 json 字符串嵌入到我的 JS 中,如下所示:

var params = dojo.fromJson('<?=json_encode($this->params); ?>');

dojo.fromJson 解码我的字符串,而 json_encode 是一个 php 函数,它在服务器端对对象进行编码。

似乎 json 编码器忽略了 ' 字符,只将“转换为 \”。因此,当我在 $this->params 中的一个变量包含一个 ' 字符时,就会出现 Javascript 错误。

例如:

var params = dojo.fromJson('{"id":"11","object_type":"Let's go"}');

解决这个问题的最佳方法是什么?

感谢帮助。

4

1 回答 1

4

由于您自己生成 JSON,因此您可以信任它,因此您不需要将其视为 JSON,而可以将其视为 JS。

var params = <?=json_encode($this->params); ?>;

PHP 的 JSON 编码器将为</script>您转义,因此您无需担心使用数据终止脚本元素。

于 2012-09-28T14:14:51.357 回答