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()
相关推荐
名字越长技术越强5 分钟前
CSS之选择器|弹性盒子模型
前端·css
用户938169125536015 分钟前
VUE3项目--路由切换时展示进度条
前端
小王码农记15 分钟前
vue2中table插槽新语法 v-slot
前端·vue.js
前端婴幼儿19 分钟前
前端直接下载到本地(实时显示下载进度)
前端
三小河20 分钟前
前端 Class 语法从 0 开始学起
前端
hjt_未来可期23 分钟前
js实现复制、粘贴文字
前端·javascript·html
米诺zuo26 分钟前
Next.js 路由与中间件
前端
小明记账簿_微信小程序26 分钟前
webpack实用配置dev--react(一)
前端
linhuai29 分钟前
Flutter如何实现 登录页 和 注册页 不显示底部菜单,其他页面显示底部菜单
前端
videring29 分钟前
打字机效果-支持ckeditor5、框架无关
前端·javascript