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を正しくエスケープ解除して、機能させる方法がよくわかりません。
Question_:
これを機能させるには、どの引用符をエスケープする必要がありますか?
ありがとう!
編集:
Ok。私はそれを使用してそれを理解しました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 のみの方法を教えてくれる場合は、お知らせください。
ありがとう!