【发布时间】:2017-02-26 13:07:37
【问题描述】:
我将一个数组保存为 json 并在加载时再次解析它。但是,在添加了带有单引号和双引号的 HTML 之后,这已经停止工作了。
我怎样才能转义引号?
JSON.parse('[["",null,null,null,null,null,"","","<span onclick=insertRow()><i class='fa fa-plus-circle fa-lg'></i></span>"]]');
uncaught SyntaxError: missing ) after argument list
编辑:
我的字符串使用 JSON.stringify 保存在数据库中。它以以下格式结束:
[["ad",null,true,false,true,false,"","","<span onclick=insertRow()><i class='fa fa-plus-circle fa-lg'></i></span>"]]
当我再次加载它时,我会这样做:
var phpsave = JSON.parse('<?php echo $result->save; ?>');
如果我在保存之前转义了单引号,则转义在加载时就会消失..
【问题讨论】:
-
这与 JSON 无关。这只是一个无效的字符串文字。
-
你是如何编码 JSON 的?你怎么加载它?你有一个问题,因为你有一个带单引号的字符串作为单引号内的 Javascript 文字。我怀疑这就是您在实践中实际加载 JSON 字符串的方式!
-
为什么在 JS 代码中使用 JSON 字符串,而不是简单的数组字面量?
-
请看我的编辑。
标签: javascript json escaping