js向后台传参中带有双引号["],但后台接收时只剩下了转义符[\]

时间:2022-08-26 10:05:23
如题

这是怎么回事?

参数是一个string数组json.stringify()转成的字符串

ps:后台是用String接收的

请问如何解决啊?后台因为字符串没有双引号包着,转成数组就会报错。

10 个解决方案

#1


这样传没有问题,接收String也无问题。我也是这样做的,server端我用jackson库。
问题应出在server端解析字符串方法不对。

#2


后台用JACKSON来转成数组试试。

#3


引用 1 楼 t_jl1979 的回复:
这样传没有问题,接收String也无问题。我也是这样做的,server端我用jackson库。
问题应出在server端解析字符串方法不对。



引用 2 楼 littlebrain4solving 的回复:
后台用JACKSON来转成数组试试。



比如
js url:  xxx.action?params.array=["aaaa","bbbb"]

action:   params.array值   [aaaa,bbbb]

用JSONArray转成Strig的时候就会报错

#4


未传之前就被js转义了吧?贴代码看看

#5


系统转义很正常。

#6


引用 4 楼 zhangjihao 的回复:
未传之前就被js转义了吧?贴代码看看

开发机上不了网,不能贴代码。。。
用的是jquery ajax   这里会被转义么?

#7


引用 5 楼 rui888 的回复:
系统转义很正常。


我js用了encodeURI(encodeURI(url))转码的,\"\"\"     变成 %5C%22%5C%22%5C%22

到后台只剩下了%5C%5C%5C     引号不见了  如果不转码也一样只剩下 \\\

#8


你怎么弄的。 JSON.stringify

var contact = new Object();
contact.firstname = "Jesper";
contact.surname = "Aaberg";
contact.phone = ["555-0100", "555-0120"];

var jsonText = JSON.stringify(contact);
document.write(jsonText);

看看这个。

#9


var jsonText = JSON.stringify(contact);
document.write((jsonText)+"\n");

document.write(encodeURIComponent(jsonText)+"\n");

document.write(decodeURIComponent(jsonText));

#10


前台是 :xx.stringify(jsonString);  ///转成String字符

后台:你导入了相应的JSON夹包吗?

再将前台传过来的字符串、进行转换成对象或者是数组

#1


这样传没有问题,接收String也无问题。我也是这样做的,server端我用jackson库。
问题应出在server端解析字符串方法不对。

#2


后台用JACKSON来转成数组试试。

#3


引用 1 楼 t_jl1979 的回复:
这样传没有问题,接收String也无问题。我也是这样做的,server端我用jackson库。
问题应出在server端解析字符串方法不对。



引用 2 楼 littlebrain4solving 的回复:
后台用JACKSON来转成数组试试。



比如
js url:  xxx.action?params.array=["aaaa","bbbb"]

action:   params.array值   [aaaa,bbbb]

用JSONArray转成Strig的时候就会报错

#4


未传之前就被js转义了吧?贴代码看看

#5


系统转义很正常。

#6


引用 4 楼 zhangjihao 的回复:
未传之前就被js转义了吧?贴代码看看

开发机上不了网,不能贴代码。。。
用的是jquery ajax   这里会被转义么?

#7


引用 5 楼 rui888 的回复:
系统转义很正常。


我js用了encodeURI(encodeURI(url))转码的,\"\"\"     变成 %5C%22%5C%22%5C%22

到后台只剩下了%5C%5C%5C     引号不见了  如果不转码也一样只剩下 \\\

#8


你怎么弄的。 JSON.stringify

var contact = new Object();
contact.firstname = "Jesper";
contact.surname = "Aaberg";
contact.phone = ["555-0100", "555-0120"];

var jsonText = JSON.stringify(contact);
document.write(jsonText);

看看这个。

#9


var jsonText = JSON.stringify(contact);
document.write((jsonText)+"\n");

document.write(encodeURIComponent(jsonText)+"\n");

document.write(decodeURIComponent(jsonText));

#10


前台是 :xx.stringify(jsonString);  ///转成String字符

后台:你导入了相应的JSON夹包吗?

再将前台传过来的字符串、进行转换成对象或者是数组