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()
相关推荐
遇见你...13 小时前
TypeScript
前端·javascript·typescript
Highcharts.js13 小时前
Highcharts Grid 中文站正式上线:表格数据处理的全新选择
前端·javascript·数据库·表格数据·highcharts·可视化图表·企业级图表
阿正的梦工坊17 小时前
JavaScript 微任务与宏任务完全指南
开发语言·javascript·ecmascript
懂懂tty17 小时前
CRA 迁移 Rspack(实战)
前端·架构
小码哥_常18 小时前
Kotlin 助力 Android 启动“大提速”
前端
GreenTea18 小时前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端
Jagger_18 小时前
能不能别再弄低代码害人了
前端
朦胧之19 小时前
AI 编程开发思维
前端·后端·ai编程
踩着两条虫19 小时前
VTJ:快速开始
前端·低代码·架构
木斯佳20 小时前
前端八股文面经大全:携程前端一面(2026-04-17)·面经深度解析
前端·状态模式