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()
相关推荐
safestar201219 小时前
React 19实战:Action、并发与性能,一次告别“意大利面状态”的升级
开发语言·javascript·vue.js
ZhaoJuFei19 小时前
React生态学习路线
前端·学习·react.js
早點睡39019 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-calendar-events(读取不到日历里新增的事件,待排查)
javascript·react native·react.js
apcipot_rain19 小时前
CSS知识概述
前端·css
837927397@QQ.COM19 小时前
个人理解无界原理
开发语言·前端·javascript
冰暮流星19 小时前
javascript之Dom查询操作1
java·前端·javascript
admin and root19 小时前
XSS之Flash弹窗钓鱼
前端·网络·安全·web安全·渗透测试·xss·src
取码网20 小时前
2025最新口红机防篡改版本源码
android·java·javascript
qq_3813385020 小时前
[特殊字符] MonkeyCode AI 核心功能详解
前端
万邦科技Lafite20 小时前
淘宝关键词API接口获取分类商品信息指南
java·前端·数据库·开放api·淘宝开放平台