0 0

jackson转换json的问题5

现在有个项目,我负责数据的网络传输,用的jackson转换的json,但是这有个问题,因为是从一个数据库的一张表,取出一行,这个时候会根据数据库的数据类型的长度来判断选择合适的java类型,然后封装成Object[],放入List,但是通过网络传输,到接收端,转回来的时候,数据类型变了,比如说,id,在发送这边取出来的是long,发过去转回来是int(如果id的长度大于int小于long,那发过去转回来还是long),然后在接收那边插入数据库又是根据类型判断插入的,造成了类型转换异常(int 不能转换为long),请问,jackson转json怎么避免类型自动转小的问题?是要设置什么吗?转的时候用的writeValueAsBytes,转回来的时候用的readValue

 

2012年8月27日 12:40

3个答案 按时间排序 按投票排序

0 0

http://wiki.fasterxml.com/JacksonHowToCustomDeserializers
看看这个可以不

2012年8月27日 18:03
0 0

如果是网络传输,可以用jms发送消息。

2012年8月27日 17:34
0 0

到接收端,转回来的时候,数据类型变了,比如说,id,在发送这边取出来的是long,发过去转回来是int(如果id的长度大于int小于long,那发过去转回来还是long),

jackson只进行json数据转换 不会丢失数据的。

估计是接收方问题吧,接收方可以先把id转换成long,,然后判断id是否在int范围内,如果在 再造型成int,相对来说简单些。

或者根据传过来的id字符串 判断 这个字符串 范围是否在int之间,如果在 再转

2012年8月27日 15:28

相关推荐

Global site tag (gtag.js) - Google Analytics