【Vue3】json与字符串的相互转换(qs.js)

一. 安装qs

1.首先输入命令下载qs

npm i qs -D

2.需要的地方引入

import qs from 'qs'

二. qs与js的区别

1. 共同点:
(1)都可以进行序列化与反序列化。
(2)拥有同样的方法:对象的序列化 stringify()方法; 反序列化 parse();


序列化:将对象转化为字符串的形式,便于数据的传输。
反序列化:将字符串转化为对象的形式。

2. 不同点

qs:
qs.stringify() 将对象转化为url形式的字符串,即为url后面的参数。
qs.parse() 将字符串转化为对象。

json:
json.stringify() 将转化为json格式的字符串。
json.parse() 将json字符串转化为对象。

对于数组qs也是转成对象的形式,在数组中每个值都被解析为一个等式,但是这样有可能造成url参数过多的问题,所以对象或数组数据多重嵌套一般建议搭配JSON.stringfy()使用。

搭配JSON.stringify() 的写法

	let arr = [1, 2, 3, 4];
    arr = JSON.stringify(arr);
    let data = {
      arr: arr
    }
    console.log(data);
    console.log(qs.stringify(data));
    console.log(qs.parse(qs.stringify(data)));

 Vue的前端向SpringBoot后端发送 post 请求时,后端接收用到 @RequestBody,即接收前端发送过来的内容类型为 application/json 格式,那么前端就要用qs转换一下,否则就会报错。

一般来说:

@RequestBody 用 content-type = application/json 

@RequestParam 用  content-type = application/x-www-form-urlencoded

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值