long转string java_fastjson将Long类型转换成String类型,解决前后端交互,Java序列化JSON丢失精度问题的方法...

注明:本文摘自来源于其他博客

后端把Long类型的数据序列化成JSON后传给前端,前端可能会出现精度丢失的情况。

例如:201511200001725439这样一个Long类型的整数,传给前端后会变成201511200001725440

解决方法:

方法一:在后台将这个Long类型的字段转换成String类型的,风险比较大。

方法二:使用fastjson的提供的注解,@JSONField(serializeUsing = ToStringSerializer.class)。

需要导入包:

import com.alibaba.fastjson.annotation.JSONField;

import com.alibaba.fastjson.serializer.ToStringSerializer;

@JSONField(serializeUsing = ToStringSerializer.class)private Long id;

备注:

fastjson在com.alibaba.fastjson.serializer包下面提供了多种数据类型转换的注解。

自己也可以拓展这些注解,通过实现ObjectSerializer接口来完成。

ToStringSerializer的代码:

public classToStringSerializer implements ObjectSerializer {public static final ToStringSerializer instance = newToStringSerializer();

@Overridepublic void write(JS

你可能感兴趣的:(long转string,java)