为什么你使用JSON.parse 总是抛出异常

为什么你使用JSON.parse 总是抛出异常

前言

JSON.parse 主要用于将已经序列化的JSON字符串解析成JavaScript的值或者对象,这个过程我们叫做反序列化。在反序列化过程中,最不希望就是SyntaxError 异常了

语法

JSON.parse(text[, reviver])

参数

text:必填参数,表示要被解析成js值的JSON字符串,字符串需满足JSON规范
reviver:可选参数,如果传入该函数,则在parse函数返回前,调用该函数对解析生成的原始值做处理

三级标题

返回JSON字符串对应的JavaScript值或对象

异常

如果待解析的字符串不符合JSON规范,则会抛出SyntaxError异常

JSON规范

JSON是一种语法,用来序列化对象、数组、数值、字符串、布尔值和null,它是基于JavaScript语法,但是又与之不同。也就是说Javascript不是JSON,JSON也不是Javascript,两者不可等同。为了便于梳理JSON规范的具体细则,见下表:
在这里插入图片描述

注:JSON字符串未说明,默认使用单引号

根据如上的JSON规范表,如果传入的字符串不符合规范,则会抛出SyntaxError异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`JSON.parse` 和 `JSON.stringify` 是 JavaScript 中用于处理 JSON 数据的两个内置方法。它们的主要作用如下: 1. **JSON.parse()**: 这个方法将一个以字符串形式表示的 JSON 对象解析(或解码)为 JavaScript 对象。例如: ```javascript let jsonString = '{"name": "John", "age": 30, "city": "New York"}'; let jsonObj = JSON.parse(jsonString); console.log(jsonObj); // 输出: { name: 'John', age: 30, city: 'New York' } ``` 当你需要从服务器响应或文本文件中获取 JSON 数据,并在 JavaScript使用时,`JSON.parse` 就非常有用。 2. **JSON.stringify()**: 这个方法将 JavaScript 对象转换JSON 字符串格式。它用于序列化数据以便于存储或传输。例如: ```javascript let jsonObj = { name: 'John', age: 30, city: 'New York' }; let jsonString = JSON.stringify(jsonObj); console.log(jsonString); // 输出: {"name": "John", "age": 30, "city": "New York"} ``` 如果你有一个 JavaScript 对象,想要将其保存到文件或发送到 API,`JSON.stringify` 可以帮助你完成这个过程。 **区别总结**: - `JSON.parse` 是从字符串到对象的转换,而 `JSON.stringify` 是从对象到字符串的转换。 - `parse` 用于读取 JSON 数据,`stringify` 用于创建 JSON 数据。 - 它们在数据格式验证上有所不同:`parse` 如果接收到的字符串不是有效的 JSON,会出错误;而 `stringify` 不做这种检查,但可以设置选项来控制是否对非标准属性进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值