我试图解析JSON字符串,我不能得到它,因为非法chracters的工作 - 我无法找到...如何在存储为Javascript变量的HTML字符串中转义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的唯一途径是如何做到这一点,请让我知道。
谢谢!在属性
您可以使用该网站来验证您的JSON:http://jsonlint.com/会告诉你,如果你有任何非法字符或不正确的标记 – 2013-03-20 19:56:15
我觉得你的单引号需要用双引号 – 2013-03-20 19:57:41
我知道Jsonlint。问题是,它抱怨两个引号。没有他们,JSON是正确的,但HTML语法是错误的。 – frequent 2013-03-20 19:58:15