码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【我不熟悉的javascript】JSON.stringify和JSON.parse方法详解


    JSON.stringify 和JSON.parse 这一对方法我们很常用到,但是初学者仅局限于使用,误以为它是万能的,但是实际上用这个方法序列化的时候还有很多注意事项,先说结论

    1. 不是所有的对象都可以使用 JSON.stringify
    2. 使用 JSON.stringify 之后会改变原始对象的的类型或值
    3. 使用 JSON.parse 的时候最好加上 try / catch
    • 转换值如果有 toJSON() 方法,该方法定义什么值将被序列化。
    • 非数组对象的属性不能保证以特定的顺序出现在序列化后的字符串中。
    • 布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值。
    • undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)。函数、undefined 被单独转换时,会返回 undefined,如JSON.stringify(function(){}) or JSON.stringify(undefined).
    • 对包含循环引用的对象(对象之间相互引用,形成无限循环)执行此方法,会抛出错误。
    • 所有以 symbol 为属性键的属性都会被完全忽略掉,即便 replacer 参数中强制指定包含了它们。
    • Date 日期调用了 toJSON() 将其转换为了 string 字符串(同 Date.toISOString()),因此会被当做字符串处理。
    • NaN 和 Infinity 格式的数值及 null 都会被当做 null。
    • 其他类型的对象,包括 Map/Set/WeakMap/WeakSet,仅会序列化可枚举的属性。

    具体请看官方文档

    JSON.stringify() - JavaScript | MDN

    JSON.parse() - JavaScript | MDN

  • 相关阅读:
    linux下的io_uring和windows下的overlapped均可实现异步I/O,有什么异同?
    阿里一面:Kafka与RocketMQ区别是什么
    仿热血江湖游戏类46获取范围玩家发送地面消失物品数据包
    刷题记录(NC16664 [NOIP2004]合唱队形,NC235954 滑雪,NC235948 最大子串和,NC235624 牛可乐和最长公共子序列)
    致 喷子们
    阿里云高庆瑞:高弹性、高可用、低成本的云上资源管理最佳实践
    重温 JavaScript 系列(1):Object.assign、iframe、HashMap、手写 instanceof
    【虹科干货】什么是信号调制?
    LeetCode每日一题——764. 最大加号标志
    淘宝一键上货API:自动化上架商品、批量获取商品详情信息
  • 原文地址:https://blog.csdn.net/qq_17335549/article/details/128006378
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号