我将此代码存储为字符串:
{
"func": function (field) {
var date = getDate(field);
return date != -1;
},
"somethingElse": "Message",
"somethingElse2": "Message2"
}
有没有办法将其转换为对象? JSON.parse 不允许函数。
最佳答案
正如 Durendal
已经说过的,您必须将您的函数作为可以由 JSON.parse
处理的字符串来传递。之后,您可以使用 eval
调用您的函数:
var string = '{"func":"function (field) {return field;}","somethingElse": "Message","somethingElse2":"Message2"}';
var jsonObject = JSON.parse(string);
var func = eval("("+jsonObject["func"]+")");
document.write(func("abc"));
您可能也对这个问题感兴趣:JavaScript eval() "syntax error" on parsing a function string
关于javascript - 如何使用字符串 : 中的函数创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36859622/