我正在尝试解析 JSON 字符串,但由于非法字符而无法使其工作 - 我找不到......
这是我所拥有的:
make = function (el) {
var config = el.getAttribute("data-config");
console.log(config);
var dyn = $.parseJSON(config)
console.log(dyn);
}
var a= document.createElement("<a href='#' class='template' data-config=\"{'role':'button','iconpos':'left','icon':'star','corners':'false','shadow':'false', 'iconshadow':'false', 'theme':'a','class':'test', 'href':'index.html','text':'Star Icon', 'mini':'true', 'inline':'true'}\">Star Icon</a>");
console.log(a);
make(a);
我不确定如何正确地对原始字符串“a”中的 JSON 进行转义,以使其正常工作。
问题_:
我需要转义哪些引号才能使其正常工作?
谢谢!
编辑:
好的。我想通了Jquery
(虽然我更喜欢Javascript)。这有效:
make = function (el) {
var config = el.attr("data-config");
console.log(config);
var dyn = $.parseJSON(config)
console.log(dyn);
}
var c = $('<a href="#" class="template" data-config=\'{"role":"button","iconpos":"left","icon":"star","corners":"false","shadow":"false", "iconshadow":"false", "theme":"a","class":"test", "href":"index.html","text":"Star Icon", "mini":"true", "inline":"true"}\'>Star Icon</a>')
console.log(c);
make(c);
因此,转义 JSON 字符串的开始/结束引号似乎可以解决问题。实际的问题是我不能使用document.createElement
完整的字符串。我只能创建元素document.createElement(a)
然后设置innerHTML
。需要再研究一下。
如果有人可以告诉我如何做到这一点,请告诉我一个仅限 Javascript 的方法。
谢谢!