将方法添加到 JSON 已解析的对象

Add method to JSON parsed object

我有一个对象本地存储在我的用户 PC 上,用 JSON 字符串化。我注意到当我解析它时,方法消失了。使用方法扩充对象的最有效方法是什么?

编辑: 示例:

var data = {
    user: {
        username: "Adam"
    }
    //function goes here
}

var myFunction = function(){/* code here*/}

您可以将函数分配给对象的 属性:

var data = {
    user: {
        username: "Adam"
    }
    //function goes here
}

var myFunction = function(){/* code here*/}

data.myFunction = myFunction;

根据我对你问题的了解,你可以按照下面的方式进行。

var data = {
    user: {
        username: "Adam"
    },
    functionName : "myFunction"
}

var myFunction = function(){ alert("a"); }

var stringyJson = JSON.stringify(data);

var parsedJson = JSON.parse(stringyJson);

window[parsedJson.functionName]();

如果您想将参数传递给函数,请将参数添加到 json 并使用 window[parsedJson.functionName](arg1, arg2);