JSON.parse 解析NaN, Infinity, -Infinity失败

背景

JSON.parse() 方法解析字符串时, 如果字符串包含NaN, Infinity, -Infinity会报错。因为我们需要先将NaN, Infinity, -Infinity替换成字符类型,再做转换

解决方法

javascript 复制代码
function convert(str) {
	str = str.replace(/NaN/g, '"NaN"');
	str = str.replace(/-Infinity/g, '"Infinity"');
	str = str.replace(/Infinity/g, '"Infinity"');
	return str;
}

注意

  1. 对-Infinity的转换要在Infinity之后,不然负号-就不能被转换了
  2. 字符串模式只会被替换一次。要执行全局搜索和替换,请使用带有 g 标志的正则表达式或使用 replaceAll()
相关推荐
贼爱学习的小黄1 分钟前
NC BIP参照开发
java·前端·nc
weixin_462901971 分钟前
ESP32 LED控制代码解析
javascript
小江的记录本5 分钟前
【MyBatis-Plus】MyBatis-Plus的核心特性、条件构造器、分页插件、乐观锁插件
java·前端·spring boot·后端·sql·tomcat·mybatis
小张会进步6 分钟前
数组:二维数组
java·javascript·算法
光影少年10 分钟前
如何进行前端性能优化?
前端·性能优化
Dxy123931021617 分钟前
js如何把字符串转数字
开发语言·前端·javascript
爱写bug的野原新之助25 分钟前
爬虫之补环境:加载原型链
前端·javascript·爬虫
陈广亮33 分钟前
工具指南7-Unix时间戳转换工具
前端
NGBQ1213839 分钟前
Adobe-Premiere-Pro-2026-26.0.2.2-m0nkrus 全解析:专业视频编辑软件深度指南
前端·adobe·音视频
北城笑笑41 分钟前
Chrome:Paused in debugger 的踩坑实录:问题排查全过程与终极解决方案( 在调试器中暂停 )
前端·chrome