栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在MongoDb中使用杰克逊将日期字段存储为ISODate()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在MongoDb中使用杰克逊将日期字段存储为ISODate()

您需要的是Jackson Joda模块。如果将其导入到类路径中,则可以在映射器上执行以下操作以将其写为所需的时间戳记:

ObjectMapper mapper = new ObjectMapper();mapper.registerModule(new JodaModule());mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);mapper.writevalueAsString(date);

您可以

date
根据需要在上面的代码示例中用POJO 替换。

编辑:看起来您真正想要的是自定义序列化程序。看起来像这样:

public class IsoDateSerializer extends JsonSerializer<DateTime> {    @Override    public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) {        String isoDate = ISODateTimeFormat.dateTime().print(value);        jgen.writeRaw("ISODATE("" + isoDate + "")");    }

然后,您将在所有日期时间类型的映射器上注册它

mapper.addSerializer(DateTime.class, new IsoDateSerializer());

或使用注释在函数上指定

@JsonSerializer(using = IsoDateSerializer.class)public DateTime createdTime;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496231.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号