JSON 数据属性中的对象

JSON object in data attribute

我们能否以某种方式在 html 数据标签属性中写入一个 JSON 字符串?

然后在 javascript 中处理它以作为普通 JSON 对象解析。

示例:

HTML

<select class="field" data-select="{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}"></select>

JS

var obj = JSON.parse($('form').find('select').attr('data-select'));

使用单引号的解决方案:

<select class="field" data-select='{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}'></select>

使用 JSON.stringify(如果 javascript)使 json 成为一个字符串并将其存储在 data-* 字段中。

var json = {"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]};
var div = document.getElementById("myDiv");
div.setAttribute("data-json", JSON.stringify(json));
alert(div.getAttribute("data-json"))

检查模板引擎文档(如果您正在使用)以生成字符串化 json。

Fiddle: https://jsfiddle.net/b1tqxhty/