【问题标题】:JSON stringify skip nested object which has more than 3 levelsJSON stringify 跳过具有 3 个以上级别的嵌套对象
【发布时间】:2021-04-05 04:16:25
【问题描述】:

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

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

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

此对象已使用 JSON 进行字符串化和解析

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

【问题讨论】:

  • 您刚刚使用JSON.stringifyJSON.parse 吗?你能告诉我们你是如何字符串化和解析的吗
  • 函数在 JSON 中不是有效值。字符串化时difficulty等功能键被忽略
  • 哦,那么将整个 JSON 对象存储在本地存储中的解决方案是什么?
  • 这能回答你的问题吗? How to store a javascript function in JSON

标签: javascript json reactjs json-serialization object-serialization


【解决方案1】:

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

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

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

【讨论】:

猜你喜欢
  • 2019-10-14
  • 2016-07-01
  • 2017-12-15
  • 2017-05-11
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
相关资源
最近更新 更多