jsp中接收JSON型数据可能会遇到的坑

最近一直在做安卓开发,但是同事遇到了JAVA中jsp页面上json数据接收后放到一个标签中丢失一部分数据得问题,就帮忙解决了下,具体情况是,后台返回的jsonArray型数据,里面包含了字段是date 内容是年月日时分秒这样的数据 如"2019-07-01 10:05:12",传到页面上时就只剩下"2019-07-01",后面的包括其他的只要是在时分秒后面的数据,都没有了。初步分析是因为日期格式的冒号可能和json冲突,经过测试发现是因为日期和时间直接的空格导致的,如果把空格替换成"aaa"就可以全部展示,就一直找这个空格的转义方式,经测试都无果,后来就考虑是input接收的方式不对,原代码如下:

<input type="hidden" name="traineeInfo" id="traineeInfo" value=<%=traineeInfo%>/>

把traineeInfo这个jsonArray型数据直接放在value里面丢失空格后面的数据,如果value后面是String类型的数据加上双引号就可以。然后就考虑是因为格式不对,百度了一番,发现有人说是json型数据应该用单引号,就修改代码如下:

<input type="hidden" name="traineeInfo" id="traineeInfo" value='<%=traineeInfo%>'/>

很神奇的就可以了,仔细考虑下,还是有道理的,里面的内容是字符串,隐形的有双引号了,所以外面包裹一个单引号,算是用单引号圈个json内容的界限,这样想的话就能理解了
希望对大家有帮助,少走点弯路!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值