在隐藏元素中编码 JSON

Encoding JSON in Hidden Element

我继承了一些代码。之前的开发人员将 JSON 塞进了一个隐藏的 HTML 元素中。它在大多数情况下都有效,除非在其中一个文本字符串中包含单引号。我不确定如何解决它。例如:

<input id="options" type="hidden" value='{"1":[{ "value":"101", "text":"Bill\'s"}, { "value":"102", "text":"Paul"}], "3":[{ "value":"201", "text":"Jack"}, { "value":"202", "text":"Jill"}]}' />

解析失败。使用以下行进行解析:

var options = JSON.parse($('#options).val());

如何在隐藏的 HTML 元素的值中存储单引号,以便我可以将其解析回 JavaScript 中的 JSON?

谢谢!

&apos; 将是 ' 的 HTML 编码。您必须在生成 HTML 之前进行替换(如果未生成则手动进行)。