首页 > 解决方案 > JSON stringify 跳过具有 3 个以上级别的嵌套对象

问题描述

我想将对象存储在本地存储中,并使用 JSON.stringify 序列化对象。然后使用 JSON.parse 解析后缺少一些内部属性。

我在下面附上了 2 张图片以查看更改,如果有人可以为此提供更好的解决方案,我将不胜感激。谢谢。

该对象在使用 JSON 进行字符串化之前

在此处输入图像描述

该对象被字符串化并使用 JSON 解析

在此处输入图像描述

这就是我存储和检索数据的方式

在此处输入图像描述

在此处输入图像描述

标签: javascriptjsonreactjsjson-serializationobject-serialization

解决方案


Json.Stringify 不会将函数传递到字符串化的 JSON 中,即函数不会被复制到字符串中,因为函数不是有效的 JSON 对象。在您的情况下,困难是一个功能,因此不会被复制。

您可以使用替换器包含该功能:

JSON.stringify({
   /* your object here */
}, function(key, val) {
        return (typeof val === 'function') ? '' + val : val;
});

推荐阅读