为什么要使用JSON.stringify()和JSON.parse()


前言

项目中经常会看到JSON.stringify()和JSON.parse()的使用,但是为什么会使用到它们?如何使用它们,本文将和你分享它们。


一、为什么要使用JSON.stringify()

JSON.stringify() 方法将一个 JavaScript 对象或值转换为 JSON 字符串,数据在传输的过程中只能传输字符串。如果直接传输数据就会变成 [[Prototype]]: Object 无法使用了

二、JSON.stringify()是否使用情况对比

未使用时:

let abc = res.data.data.pages; //res是后端接口返回的数据,因为想要更好的说明情况在此处做了省略处理
console.log('后端返回的数据_abc:', abc);
sessionStorage.setItem('abc', abc);
sessionStorage.getItem('abc');
console.log('无JSON.stringify()_abc:', sessionStorage.getItem('abc'));

在这里插入图片描述
使用JSON.stringify()后:

let abc = res.data.data.pages; //res是后端接口返回的数据,因为想要更好的说明情况在此处做了省略处理
let def = JSON.stringify(res.data.data.pages);
console.log('后端返回的数据_abc:', abc);
sessionStorage.setItem('def', def);
sessionStorage.getItem('def');
console.log('有JSON.stringify()_def:', sessionStorage.getItem('def'));

在这里插入图片描述
这时候返回后的值就不会是[[Prototype]]: Object 了,而是会有数据,但是和我们最初从后台获取的值还是会有不同,这时候就要用上JSON.parse() 了。

三、使用JSON.parse()进行解析数据

let abc = res.data.data.pages; //res是后端接口返回的数据,因为想要更好的说明情况在此处做了省略处理
let def = JSON.stringify(res.data.data.pages);
console.log('后端返回的数据_abc:', abc);
sessionStorage.setItem('def', def);
sessionStorage.getItem('def');
//console.log('有JSON.stringify()_def:', sessionStorage.getItem('def'));
console.log('解析后的JSON.stringify()_def:', JSON.parse(sessionStorage.getItem('def')));

在这里插入图片描述
此时的数据就和后端返回的数据是一样的了,这样就可以在其它的组件页面中进行使用了

最后

如果分享对你有帮助记得点鼓励下哈!!!

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值