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 小时前
【无标题】
前端·低代码
openKaka_13 小时前
beginWork 的第一站:HostRoot 如何把 App 接入 Fiber 树
前端·javascript·react.js
我命由我1234513 小时前
Dart - Dart SDK、Hello World 案例、变量声明、常量声明、常量 final、字符串类型
前端·flutter·前端框架·html·web·dart·web app
冴羽yayujs13 小时前
GitHub 前端热榜项目 - 日榜(2026-05-11)
前端·github
~|Bernard|13 小时前
四,go语言中GMP调度模型
java·前端·golang
YOU OU13 小时前
HTML+CSS+JavaScript
前端·javascript·css·html
Rkgua14 小时前
路径传参和查询传参和请求体传参区以及Vue和React的用法区分
前端·面试
JarvanMo14 小时前
Flutter + Supabase 集成 Apple Sign-In 完整指南
前端
Kiyra14 小时前
LLM 的 JSON 不靠谱:结构化输出的重试与修复实战
开发语言·python·json
小村儿14 小时前
连载
前端·后端·ai编程