JSON.parse()反序列化数据丢失

序列化:将数据转换为字符串的过程称为序列化。在序列化过程中,数据结构(比如对象、数组等)被转换成一个字符串形式,这个字符串通常以特定的格式表示,比如 JSON 或 XML。

反序列化:反序列化是序列化的逆过程,它将之前序列化得到的字符串重新转换回原始的数据结构。这样就可以从字符串中恢复出原始的数据对象。

在 JavaScript 中,JSON.stringify() 方法用于序列化 JavaScript 对象为 JSON 字符串,而 JSON.parse() 方法用于将 JSON 字符串解析为对应的 JavaScript 对象,这两个方法就是序列化和反序列化的工具。

问题描述:

JSON.parse("10.0") 输出10

使用 JSON.parse() 方法解析字符串时,它会按照 JSON 规范将字符串转换为对应的 JavaScript 数据类型。在 JSON 中,数字可以表示为整数或浮点数。然而,在 JavaScript 中,数字没有被明确分成整数和浮点数类型。因此,在解析 JSON 字符串时,JSON.parse() 会将数字统一解析为 JavaScript 中的数字类型,而不区分整数和浮点数。

解决办法

使用 lossless-json

复制代码
npm install lossless-json
javascript 复制代码
import { parse, stringify } from 'lossless-json'

const json = parse('{"foo":"bar"}') // {foo: 'bar'}
const text = stringify(json) // '{"foo":"bar"}'

详细参考文档lossless-json - npm

相关推荐
richard_yuu19 分钟前
JSON vs XML vs 二进制:3种序列化终极选型
xml·c++·qt·学习·json
用户77833661321117 小时前
SERP 返回 JSON 用 Pydantic 强校验:类型安全解析
json
灵析表格20 小时前
灵析表格财务函数深度实用性分析与实操教程
开发语言·ai·json·excel·wps
青 春 记 忆1 天前
零基础入门python07:让程序记住数据——JSON文件和异常处理
开发语言·windows·python·json·python3.11
2603_965148111 天前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
鬼手点金2 天前
Scrapy 网络爬虫框架
爬虫·python·scrapy·ajax·html·json·requsts
鬼手点金2 天前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
AlfredZhao2 天前
VS Code 一键美化 JSON:不用安装插件
json
zhanghaha13143 天前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
云水一下3 天前
零基础玩转bWAPP靶场(四十六):XSS - Reflected (AJAX/JSON)
web安全·ajax·json·xss·bwapp·reflected