JSON.stringify()的几个场景
循环引用
使用JSON.stringify()
时,遇到循环引用的时候,会抛出错误TypeError: Converting circular structure to JSON
,如果需要强行转成字符串的话,需要利用到该方法的第二个参数。
主要思路其实就是将循环引用的部分替换成某个标识,等到解析的时候去替换掉,就可以拿到原来的循环引用的对象。通常是为了在输出json
文件后,依然可以得到原来的循环引用的对象来处理。在此也就是抛砖引玉,不做更多的探讨,下面的实现肯定有遗漏的地方,主要就是记录一下思路。
大JSON的处理
当 JSON.stringify
所生成的字符串长度超过了一定大小的限制后,会抛出Uncaught RangeError: Invalid string length
错误。
我自己的思路大概有两个,一个是拆开去转化,另一个就是使用数据流的形式去读写,目前用第一种方式也能满足我的场景。正常来说,拆开就可以防止一次的JSON.stringify
占据的内存过大,如果拆开一层还不行,可以试试递归几次应该就满足了。
格式化写入到文件中的json
经常发现写入到文件中的json
是挤在一起的,就想着有没有可能在写入的时候就格式化一下,发现JSON.stringify
是提供了的,就是第三个参数,为数字的话,就是缩进的格数,为字符串的话,就是用这个字符串替代缩进,不过都有一个最大值的限制,数字不能大于10
,字符串超过10
的长度就取前10
个字符。
__EOF__

本文作者:风行者夜色
本文链接:https://www.cnblogs.com/aloneMing/p/17316102.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/aloneMing/p/17316102.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)