java传递json,接收时异常CharConversionException。

String url="/UEAnalyze/BaoZhang.do?bzApply&jsonarray="+jsonarr1+"&jsonarray2="+jsonarr2;
其中jsonarray2有问题(其值类似:{"1":"主营业务成本-网络运行成本-外购动力费-IDC机房"})
跳转方式:response.sendRedirect(url);
接收:String jsonarray2 = request.getParameter("jsonarray2");此时报错:
java.io.CharConversionException: isHexDigit
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:87)

而BaoZhang.do的另一个入口:(js)window.location.href = "/UEAnalyze/BaoZhang.do?bzApply&jsonarray="+jarr1+"&jsonarray2="+jarr2;则没有问题。
请教这是怎么回事?

5个回答

URL中的传递的参数等,都先进行一下Encode,接收后,再次Decode

u013131234
mad小马 是指:response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("utf-8");吗?这样还是不行的
5 年多之前 回复

字符串中有非法的字符,检查下传进来的参数

u013131234
mad小马 {"1":"主营业务成本-网络运行成本-外购动力费-IDC机房"},这个值有什么问题?
5 年多之前 回复

双引号是特殊字符,在url后面需要转义
http://www.zhixing123.cn/asp/html-javascript-url-character.html

u013131234
mad小马 实际上:这是我的jsonarray{"1":"100.00","lch":"21212;","heji":100,"accountmonth":"2015-03","accountid":"1512"}传值时并没有什么问题
5 年多之前 回复

用java的encode编码下你的内容:http://www.cnblogs.com/shishm/articles/1614407.html

http://blog.csdn.net/mcpang/article/details/7859475
看一下这个,是不是这个原因。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐