关于fastjson序列化BigDecimal
@wenshao 你好,想跟你请教个问题:项目中有用到BigDecimal,然后我想按照自己的方式序列化BigDecimal,不保留小数,但是出现了问题。代码是这样子的
这是自己定义的序列化BigDecimal类
public class BigDecimalFormatSerializer implements ObjectSerializer { private final DecimalFormat decimalFormat; public BigDecimalFormatSerializer(DecimalFormat decimalFormat) { this.decimalFormat = decimalFormat; } @Override public void write(JSONSerializer jsonSerializer, Object object, Object fieldName, Type fieldType, int features) throws IOException { SerializeWriter out = jsonSerializer.getWriter(); if(object == null){ out.write("0"); }else{ BigDecimal bigDecimal = (BigDecimal)object; String value = decimalFormat.format(bigDecimal); out.write(value); } } }
//设置序列化时间 Bigdecimal忽略小数 private static SerializeConfig config = new SerializeConfig(); private static String dateFormat; private static DecimalFormat decimalFormat; static { dateFormat = "yyyy-MM-dd'T'HH
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
的确可以,但是如果每一个VO对象的BigDecimal属性都这样备注的话,有点难于管理,最好的方式就是在出入口统一格式化管理。谢谢
使用@JSONField(format="#0") 在a属性上进行注解,就能完成你的需求