首页 > 解决方案 > 将对象转换为 json 时,有没有办法不包含方法?

问题描述

现在,我正在尝试将对象转换为 json,但该对象中有方法。

我发现的一种常见解决方案是将函数存储在 json 中,但这对我不起作用(主要是因为这会完全破坏更新)

我认为每次重新加载程序时重新初始化函数会更容易。在字符串化为 json 时排除函数但在解析 json 时包含函数的最佳方法是什么?

额外说明:一些函数存储在数组和其他对象中

编辑: 加载json数据的当前代码:

var loadData = JSON.parse(window.localStorage.getItem("slotAuto"));
G = {
    ...G,
    ...loadData
};

当前保存 json 数据的代码:

var toSave = JSON.stringify(G, G.ReplaceNull);
console.log(toSave);
window.localStorage.setItem("saveGame", toSave);

替换空函数:

if (value == null) {
    return undefined;
};
return value

示例对象:

{
    functionList: [function () {
        console.log("do something")
    }]
}

示例输出:

{
    "functionList": [null]
}

标签: javascriptjson

解决方案


推荐阅读