JavaScript對象,我都存儲在數據屬性的JSON字符串。解析JSON字符串與函數名
{
"active": true,
"icons": {
"activeHeader": "ui-icon-alert"
},
"animate": {
"duration": 1000,
"always": dMethod
}
}
而且我有哪些命名dMethod功能:
function dMethod() {
alert("DONE");
}
當我嘗試通過JSON.parse
我得到一個錯誤說無效字符來解析字符串。我檢查和dMethod是定義何時解析方法運行,如果我刪除,「總是」:dMethod部分,然後解析器工作正常。 我不能在dMethod周圍使用引號,因爲那樣這個類型將是字符串類型而不是對象函數。
任何幫助,將不勝感激。
謝謝,
Péter
編輯:
謝謝你的所有答案。我做了一些澄清,所以也許你會更好地理解問題。我做一個非常簡單的JS庫,使jQueryUI的無礙:
var juiObjects = ["accordion", "autocomplete", "button", "datepicker", "dialog", "menu", "progressbar", "slider", "spinner", "tabs", "tooltip"];
$(document).ready(function() {
for (var i = 0; i < juiObjects.length; i++) {
var attributeName = "data-" + juiObjects[i];
$("["+ attributeName + "]").each(function() {
var optionsValue = $(this).attr(attributeName);
var options = JSON.parse(optionsValue);
$(this)[juiObjects[i]](options);
});
}
});
我不得不JSON.parse和eval之間選擇。但我認爲eval不會是那麼好的選擇。儘量保持「圖書館」儘可能簡單。但它看起來像我已經備件的小部件的代碼。
感謝。我做了som的進步,但卡住了一些JavaScript魔術。我做了另一個問題(儘量不要垃圾郵件這個)如果你intrested:http://stackoverflow.com/questions/18189367/javascript-deep-search-and-change-in-object –