这是一个将包含函数的 json 字符串转换回具有有效函数声明的 json 对象的示例。
var jsonstring = "{\"schema\": {\"title\": \"用户反馈\", \"description\":\"so\", \"type\":\"object\", \ "properties\":{\"name\":{\"type\":\"string\"}}}," + "\"options\":{ \"form\":{\"attributes\" :{}, \"buttons\":{ \"submit\":{ \"title\":\"It\", \"click\":\"function(){alert('hello');} \" }}} }}";
var jsonData = JSON.parse(jsonstring);
function Iterate(data)
{
jQuery.each(data, function (index, value) {
if (typeof value == 'object') {
Iterate(value);
}
else {
if (value.indexOf("function()") > -1)
data[index] = eval("(" + value + ")");
}
});
};
Iterate(jsonData);
在这种情况下 jsonData.options.form.buttons.submit.click();