JavaScript的JSON序列化如何处理特殊对象类型?

JSON.stringify()可序列化标准类型,但对函数、undefined、Symbol会忽略或转为null,BigInt需自定义toJSON,Date转为字符串,RegExp和Error仅保留可枚举属性,循环引用需用replacer或库处理。

javascript的json序列化如何处理特殊对象类型?

JavaScript的JSON序列化主要通过JSON.stringify()方法实现,但它对特殊对象类型的处理有局限性。该方法只能安全地序列化可枚举的、标准的JSON数据类型(如字符串、数字、数组、普通对象、布尔值、null)。遇到函数、日期、undefined、Symbol、BigInt、RegExp、Error或循环引用等特殊类型时,会进行忽略、转换或报错。

日期对象(Date)

处理方式:自动转换为ISO格式的字符串。

例如:

JSON.stringify({ time: new Date() }) 输出:"{"time":"2025-04-05T12:34:56.789Z"}"

反序列化后不会自动还原为Date对象,仍是一个字符串,需手动转换。

立即学习“Java免费学习笔记(深入)”;

函数(Function)、undefined 和 Symbol

处理方式:在对象中会被忽略;在数组中则变为null

示例:

JSON.stringify({ a: function(){}, b: undefined, c: Symbol('') }) 输出:"{}"

JSON.stringify([function(){}, null, undefined]) 输出:"[null,null,null]"

这些类型不属于JSON规范,因此无法被保留。

BigInt

处理方式:直接调用JSON.stringify()会抛出错误。

原因:

BigInt不能安全地转换为Number,JSON标准也不支持。必须自定义toJSON方法或使用replacer函数。

解决方法

添加toJSON方法:

BigInt.prototype.toJSON = function() { return this.toString(); }

之后JSON.stringify({ big: 123n }) 输出:"{"big":"123"}"

正则表达式(RegExp)和Error对象

处理方式:仅序列化其可枚举属性,通常为空对象。

例如:

JSON.stringify({ reg: /abc/i }) 输出:"{"reg":{}}"

正则的sourceflags等属性不可枚举,因此丢失。若需保留,应手动提取属性。

循环引用对象

问题:直接序列化会抛出TypeError

示例:

    const obj = { name: "a" };
obj.self = obj;
JSON.stringify(obj); // 报错

解决方案:

使用replacer函数过滤掉循环引用,或借助第三方库如flattedcycle.js来安全序列化。

自定义序列化行为(toJSON 方法)

任何对象都可以定义toJSON方法,JSON.stringify()会优先使用该方法的返回值。

示例:

    const user = {
name: "Tom",
age: 25,
toJSON: function() { return this.name; }
};
JSON.stringify(user); // 输出:""Tom""

这适用于需要自定义输出格式的对象,比如封装了私有状态的类。

基本上就这些。JSON序列化不是万能的,对特殊类型要提前处理,否则容易丢失数据或报错。合理使用replacer、toJSON和类型检查,可以有效控制输出结果。

以上就是JavaScript的JSON序列化如何处理特殊对象类型?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/31492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月3日 23:32:00
下一篇 2025年11月3日 23:34:58

相关推荐

  • Pi Crypto的价值在2025年面临着巨大的湍流,这是由地毯拉的指控和大量令牌垃圾

    本文探讨了影响pi加密价值,最近争议,市场动态的因素,以及这个创新但四面楚歌的项目的未来。 PI网络的天然令牌Pi Crypto的价值在2025年面临着明显的湍流。 什么是PI网络? PI Network是一个分散的加密货币项目,由斯坦福大学博士Nicolas Kokkalis博士和Chengdia…

    2025年12月7日
    000
  • BONK(BONK)价格预测:模因硬币会继续其看涨势头吗?

    受欢迎的基于solana的meme coin bonk在脱落的楔形图案中脱落后,表现出了有希望的看涨势头的迹象。 受欢迎的基于索拉纳的模因硬币Bonk在试图摆脱掉落的楔形图案时,表现出了看涨势头的有希望的迹象。代币在整个5月一直在巩固,但现在似乎有望实现潜在的向上行动。 在撰写本文时,Bonk目前的…

    2025年12月7日
    000
  • LINK币未来如何?2025-2031年Chainlink(LINK)币价格预测

    目录 Chainlink(LINK)币概述Chainlink(LINK)币价格预测:技术分析Chainlink(LINK)币价格分析每日图表上的LINK币价格分析4小时图表上的LINK币价格分析LINK币技术指标:水平和行动每日简单移动平均线 (SMA)每日指数移动平均线 (EMA) Chainli…

    2025年12月7日 好文分享
    000
  • ALPH是什么币种?ALPH币值得挖吗?

    alephium是layer1上可操作性极强的分片网络,以独特的分片能源效率和可编程性功能而闻名,旨在解决传统区块链可扩展性、安全性等的局限性。alph币是alephium的原生代币,主要作用就是交易、治理、激励等,是alephium生态系统的重要组成部分。对于该项目,投资者不仅好奇alph是什么币…

    2025年12月7日
    000
  • 以太坊基金会和以太坊团队这些年卖掉了多少ETH?你知道吗?

    以太坊从 2015年上线以来,现在已经发展成世界第二大加密资产。作为生态的核心推动者,以太坊基金会和联合创始人团队也在这十年中多次出售手中持有的 eth。这些出售行为一方面反映了他们的资金需求与投资选择,另一方面也常被视作市场风向标。 以太坊基金会:屡次精准抛顶 以太坊基金会作为非营利机构,自主掌握…

    2025年12月7日
    000
  • 2025年5月是投资狗狗币的好时机吗?一文解析

    加密货币已成为金融世界中最热门的话题之一,在成千上万的加密货币中,狗狗币(dogecoin)作为最受欢迎和讨论最多的之一脱颖而出。最初作为玩笑而创建的狗狗币,已发展为拥有忠实支持者的社区,且具有自己的生命力。然而,尽管声名显赫,问题仍然存在:狗狗币是否是一项好的投资? 2025年5月是投资狗狗币的好…

    2025年12月7日
    000
  • Link币价格预测2025年-2025年:Link币未来会涨到多高?

    chainlink 是一个去中心化的预言机网络,连接智能合约和现实世界数据,使链外信息的交互安全可靠。chainlink 通过防止未经授权的访问和数据验证,增强了 defi、游戏、保险及其他区块链技术行业的功能。 如果你打算研究 chainlink 的价格预测,就必须分析市场动态以做出明智选择。本文…

    2025年12月7日
    100
  • USELESS是什么币?USELESS代币经济学和分配

    目录 与$Bonk生态系统的关系代币经济学和分配$USELESS在Solana迷因币生态系统中的角色市场概览(截至2025年5月19日)价格表现和波动性项目概览常见问题$USELESS有任何实用性吗?$USELESS如何分配?我在哪里可以交易$USELESS?$USELESS是一个好的长期投资吗?$…

    2025年12月7日
    000
  • 比特币价格走势有哪些规律? 2025及未来趋势如何?

    目录 比特币2009-2025年的价格走势​比特币价格走势有哪些规律?BTCUSD实时价格走势图(1)BTC减半后出现大涨(2)党轮减半后最高价是上一轮的两倍(3)減半后17个月,BTC大涨转大跌(4)党轮最高价至最低价:跌幅70%以上比特币价格走势规律会重演?​比特币2025及未来价格走势分析​如…

    2025年12月7日 好文分享
    000
  • Bybit虚拟卡有效期多长?Bybit虚拟卡一直审核中怎么办?

    bybit虚拟卡是一款功能强大且安全可靠的虚拟货币借记卡,可以让投资者更便捷地使用虚拟货币进行消费。当前bybit虚拟卡没有任何开户门槛,并且也支持大陆用户在线开通,另外不收取任何开卡费用、不收取年费管理费等等多个优势,因此是当下最热门的借记卡之一。当用户拥有bybit虚拟卡之后,最关注的一个问题有…

    2025年12月7日
    000
  • BONK币怎么样?BONK是一个好的投资选择吗?

    bonk币,基于流行的bonk meme,是加密货币领域中较年轻的代币之一。投资它真的值得吗?今天,我们将深入探讨其价格历史、总体潜力以及它所带来的风险,帮助你做出明智的投资决策。 BONK作为投资 对于加密货币领域,BONK币 不仅仅是另一种代币,它深深植根于互联网文化,作为一个广受欢迎的传奇me…

    2025年12月7日
    000
  • 2025全球交易所Top10权威榜单 币圈投资必看的交易所排名

    以下是我们精心挑选的2025年全球交易所top10权威榜单,这些交易所不仅在安全性、流动性和用户体验方面表现出色,还在不断创新和优化服务,以满足日益增长的市场需求。 2025全球交易所Top10权威榜单 1. OKX    高流动性:支持多种主流和新兴数字资产交易,交易深度大安全性强:采用多重加密技…

    2025年12月7日 好文分享
    000
  • 货币交易平台前十名 炒币必备app最新推荐

    本文将为你介绍2025年炒币必备的前十名货币交易平台,并详细分析每个平台的特点和优势。第一名okx以其强大的安全性和丰富的交易工具而闻名,第二名binance则以其全球影响力和多样化的交易对著称,而第三名火币则因其用户友好的界面和优质的客户服务备受推崇。以下是详细的排名和每个平台的简要介绍。 炒币必…

    2025年12月7日 好文分享
    000
  • 十大数字虚拟币交易平台最新排名(2025货币交易平台前十推荐)

    当前市场上最受欢迎的十大数字虚拟币交易平台不仅提供了多样化的交易选项,还在安全性、用户体验和创新服务方面表现出色。本文将详细介绍这些平台的最新排名,并通过简洁的列表形式展示每个平台的特色和优势。无论你是新手还是经验丰富的交易者,都能从中找到适合自己的交易平台。 十大数字虚拟币交易平台最新排名 1. …

    2025年12月7日 好文分享
    000
  • 虚拟数字币交易平台TOP10(2025最新权威榜单)

    虚拟数字币交易平台top10分别是:1. okx,2. binance,3. 火币,4. coinbase,5. kraken,6. bitfinex,7. kucoin,8. bitstamp,9. gemini,10. bitmex,这些平台各具特色,如okx提供多样化交易产品和高效交易引擎,b…

    2025年12月7日 好文分享
    000
  • 美国证券交易委员会(SEC)再次将其决定推迟了

    美国证券交易委员会(sec)再次将其在21shares xrp trust,grayscale dogecoin trust和bitwise提出的提议中添加stataking的建议将其添加到其eth etf中。 美国证券交易委员会(SEC)已将其在21Shares XRP Trust,Graysca…

    2025年12月7日
    000
  • We’re Already Living in an Era of Superbitcoinization, According to former Coinbase CTO

    根据企业家和前coinbase cto balaji srinivasan的说法,世界已经深入探讨了他所谓的“超竞标”。 企业家和前Coinbase CTO Balaji Srinivasan声称,即使没有传统的过度通货膨胀,也对Bitcoin(BTC)进行了衡量时,全世界已经深入探讨了他所谓的“超…

    2025年12月7日
    000
  • 瑞波币XRP历史价格明细终极整理(2013-2025)

    自从瑞波币(xrp)在2013年首次亮相以来,它的价格走势一直是加密货币市场中最引人注目的现象之一。作为一种旨在促进跨境支付和金融机构间交易的数字资产,xrp的价格历史不仅反映了其技术和应用的演变,也揭示了整个加密货币市场的波动和趋势。本文将详细整理xrp自2013年至2025年的价格明细,帮助读者…

    2025年12月7日
    000
  • 卡尔达诺(ADA)终于似乎在加密世界再次引起了人们的注意

    受欢迎的altcoin显示出惊人的运动,这让人联想到他在2020年以前的历史最高升空的前进。 Cardano(Ada)似乎终于在加密货币世界引起了人们的关注。受欢迎的Altcoin表现出惊人的运动,让人联想到他在2021年以前的历史最高高潮的前进。 Cardano(Ada)似乎终于在加密货币世界引起…

    2025年12月7日
    000
  • SUI价格预测:乘坐不断增长的采用浪潮

    sui network的分散交易所(dex)量超过了主要竞争对手,而最近的令牌未能使投资者信心置于信心 SUI网络的分散交易所(DEX)量已经超过了主要竞争对手,而最近的令牌解锁未能削弱投资者的信心,导致许多分析师和交易者预测突破到5美元的价格水平。 在过去一个月飙升超过80%并达到近4美元之后,S…

    2025年12月7日
    000

发表回复

登录后才能评论
关注微信