vue 传递数组后端java接收问题(qs和json)
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
一、问题描述
1.通过qs.stringify()
let array = [
{"name":"a","id":1},
{"name":"b","id":2},
{"name":"c","id":3}
]
let data = {
array : array,
number : 1,
string : "STRING"
}
this.$axios({
method: "post",
url: "url",
data: qs.stringify(data)
}).then(res => {});
结果:
array[0][name] a
array[0][id] 1
array[1][name] b
array[1][id] 2
array[2][name] c
array[2][id] 3
number 1
string STRING
2.通过JSON.stringify()
this.$axios({
method: "post",
url: "url",
data: JSON.stringify(data)
}).then(res => {});
结果:
{"array":[{"name":"a","id":1},{"name":"b","id":2},{"name":"c","id":3}],"number":1,"string":"STRING"}
如果java接收时使用的是List,那么使用qs来转化数组是会报错的,我测试是在spring mvc自动转配时。
而选择JSON来传化可以解决这个问题,可是JSON转化后端接收可能会出现数据为 [] 和为 0 的结果(原因还在寻找)
二、解决方法
1.将后端接收改为数组
或
2.将数组先用JSON转一次,再加入对象,再用qs来转
结果:
array [{"name":"a","id":1},{"name":"b","id":2},{"name":"c","id":3}]
number 1
string STRING
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)