概述
1.今天遇见fastJson对mongodb的ID序列化失去精度的问题,今天讲解下,并解决
如:id : 5baf10e781d589000175c5cd
fastJson装换后变成:
2.为题分析
首先是出现serializers里面并没有mongodb的ObjectId的序列化类
3.问题解决
实现fastJson的ObjectSerializer
public class ObjectIdSerializer implements ObjectSerializer {
public final static ObjectIdSerializer instance = new ObjectIdSerializer();
@Override
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
SerializeWriter out = serializer.out;
if (object instanceof ObjectId) {
ObjectId objectId = (ObjectId) object;
out.writeString(objectId.toString());
return;
}
}
}
SerializeConfig serializeConfig = SerializeConfig.getGlobalInstance();
serializeConfig.put(ObjectId.class , ObjectIdSerializer.instance);
JSON.toJSONString(map , serializeConfig);
最后
以上就是直率巨人为你收集整理的fastJson对mongodb的Id序列化失败解决方案的全部内容,希望文章能够帮你解决fastJson对mongodb的Id序列化失败解决方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复