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

Add method to JSON parsed object

本文关键字:对象 JSON 方法 添加      更新时间:2023-09-26

我有一个对象,它本地存储在我的用户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); 一样使用