使⽤ObjectMapper,序列化时,将对象中的long转变为string ObjectMapper 这个类是jackson提供的,主要是⽤来把对象转换成为⼀个json字符串。
⾸先⾃定义⼀个class类
public class LongToStr extends JsonSerializer<Long>{
@Override
public void serialize(Long value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)throws IOException, JsonProcessingException { String text =(value ==null?null: String.valueOf(value));
if(text !=null){
jsonGenerator.writeString(text);
}
}
}
然后再需要转换的属性上⾯添加注解
@JsonSerialize(using = LongToStr.class)
json转换对象private Long orderId;
同样的反序列的时候
public class StrToLong extends JsonDeserializer<Long>{
private static final Logger logger = Logger(LongJsonDeserializer.class);
@Override
public Long deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)throws IOException, JsonProcessingException {
String value = Text();
try{
return value ==null?null: Long.parseLong(value);
}catch(NumberFormatException e){
<("解析长整形错误", e);
return null;
}
}
}
同样的
@JsonSerialize(using = StrToLong.class)
private Long orderId;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论