我是靠谱客的博主 直率巨人,最近开发中收集的这篇文章主要介绍fastJson对mongodb的Id序列化失败解决方案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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序列化失败解决方案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部