从数据属性中转义json中的特殊字符

时间:2014-09-15 20:58:43

标签: json special-characters

我将json存储在数据属性中。

<div data-dataarray="[[&quot;Shipper&quot;,&quot;Ship No&quot;,&quot;Weight&quot;],[&quot;1WWWQUICK\PARTSCOM&quot;,1,1]]">

data = $('#'+moduleId).data('dataarray')

所以数据现在是一个字符串。

然后我需要解析它以将其恢复为json:

jsondata = JSON.parse(data);

这个json可以有特殊字符(注意反斜杠)......这会导致错误。在解析之前/解析时如何逃脱它们?

1 个答案:

答案 0 :(得分:0)

首先 我认为html5数据属性需要有一个像data-xyzUserVariable的形式。然后使用jquery.data检索它们(&#34;#xyz_id&#34;,&#34; xyzUserVariable&#34;),

其次 但是,要小心jQuery巧妙地尝试将数据转换为合适的类型(布尔值,数字,对象,数组或null)并避免触及DOM。

第三 你的json似乎是一个对象数组..它缺少一个结束括号&#39;]&#39; ?