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 天前
Electron for 鸿蒙PC 窗口问题完整解决方案
javascript·electron·harmonyos
flashlight_hi1 天前
LeetCode 分类刷题:404. 左叶子之和
javascript·算法·leetcode
芳草萋萋鹦鹉洲哦1 天前
【tauri+pixijs】关于unicode/ascII/GB2312
前端·tauri·pixijs
木易 士心1 天前
th-table 中 基于双字段计算的表格列展示方案
前端·javascript·angular.js
fakaifa1 天前
【全开源】智慧共享农场源码独立版+uniapp前端
前端·uni-app·智慧农场·源码下载·智慧农场小程序·智慧共享农场
toooooop81 天前
uniapp多个页面监听?全局监听uni.$emit/$on
前端·javascript·uni-app
骨子里的偏爱1 天前
【案例】uniapp实现内部信息与外部的html网页双向通信的完整的过程,附加完整的代码部分
前端·uni-app·html
爱泡脚的鸡腿1 天前
uni-app D4 实战(小兔鲜)
前端·vue.js·架构
星火飞码iFlyCode1 天前
iFlyCode+SpecKit应用:照片等比智能压缩功能实现
前端·javascript
广白1 天前
钉钉小程序直传文件到 阿里云OSS
前端·vue.js·uni-app