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()
相关推荐
前端炒粉8 小时前
35.LRU 缓存
开发语言·javascript·数据结构·算法·缓存·js
巧克力芋泥包9 小时前
前端使用阿里云图形验证码;并且与安卓进行交互
android·前端·阿里云
G***E31610 小时前
前端GraphQLAPI
前端
lumi.10 小时前
Vue + Element Plus 实现AI文档解析与问答功能(含详细注释+核心逻辑解析)
前端·javascript·vue.js·人工智能
z***I39410 小时前
VueGraphQLAPI
前端
S***t71411 小时前
Vue面试经验
javascript·vue.js·面试
粉末的沉淀12 小时前
css:制作带边框的气泡框
前端·javascript·css
p***h64313 小时前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
N***738513 小时前
Vue网络编程详解
前端·javascript·vue.js
e***716713 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端