我们在日期字段中填充了longinlasticsearch索引。

字段映射为:

@Field(type = FieldType.Date)

@JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)

private LocalDateTime created;

我使用Jackson JavaTimeModule并Jdk8Module使用以下配置:

@Bean

public ElasticsearchOperations elasticsearchTemplate() {

return new ElasticsearchRestTemplate(client(), new CustomEntityMapper());

}

public static class CustomEntityMapper implements EntityMapper {

private final ObjectMapper objectMapper;

public CustomEntityMapper() {

//we use this so that Elasticsearch understands LocalDate and LocalDateTime objects

objectMapper = new ObjectMapper()

.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)

.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true)

.configure(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS, false)

.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)

.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false)

//MUST be registered BEFORE calling findAndRegisterModules

.registerModule(new JavaTimeModule())

.registerModule(new Jdk8Module());

//only autodetect fields and ignore getters and setters for nonexistent fields when serializing/deserializing

objectMapper.setVisibility(objectMapper.getSerializationConfig().getDefaultVisibilityChecker()

.withFieldVisibility(JsonAutoDetect.Visibility.ANY)

.withGetterVisibility(JsonAutoDetect.Visibility.NONE)

.withSetterVisibility(JsonAutoDetect.Visibility.NONE)

.withCreatorVisibility(JsonAutoDetect.Visibility.NONE));

//load the other available modules as well

objectMapper.findAndRegisterModules();

}

@Override

public String mapToString(Object object) throws IOException {

return objectMapper.writeValueAsString(object);

}

@Override

public T mapToObject(String source, Class clazz) throws IOException {

return objectMapper.readValue(source, clazz);

}

}

但是,当我尝试使用以下字段解析索引中的实体时:

"created" : 1563448935000

我收到一个错误:

com.fasterxml.jackson.databind.exc.MismatchedInputException: Unexpected token (VALUE_NUMBER_INT), expected VALUE_STRING: Expected array or string.

我认为,可以对long日期反序列化,但是我看不到缺少的内容。

如果我将其映射到Long它,则当然可以工作,并且如果将值存储为String,我们也可以将其成形并正确格式化@JsonFormat。但是有可能也有long->LocalDateTime吗?

java反序列化时区,Jackson使用Java 8将Elasticsearch反序列化为LocalDateTime相关推荐

  1. jackson java反序列化_java – Jackson JSON强制反序列化为对象

    我得到了一个代表团的课程设置 public class MyClass implements List { public String name; public List target; // thi ...

  2. java不同时区时间转换,Java在不同时区转换时间

    本文中,我们将展示如何在不同时区之间转换时间,我们分别使用Date.Calendar.Joda Time. 本例从新加坡时区 (GMT+8:00) Asia/Singapore - Singapore ...

  3. java反序列化漏洞的成因,JAVA反序列化漏洞解决办法

    一.漏洞描述: 近期,反序列化任意代码执行漏洞持续发酵,越来越多的系统被爆出存在此漏洞.Apache Commons工具集广泛应用于JAVA技术平台,存在Apache Commons Componen ...

  4. java不同时区时间转换,Java不同时区(timezone)之间时间转换

    最近出现一个问题是这样的 我们的系统在国外打印的日志时间由于时差关系和国内不一致 看起来不方便 希望国外的日志和国内保持一致 即 需要对不同时区的时间做转换调整 统一为国内时间. 一.关于时区的一些概 ...

  5. common-collections中Java反序列化漏洞导致的RCE原理分析

    2019独角兽企业重金招聘Python工程师标准>>> common-collections中Java反序列化漏洞导致的RCE原理分析 隐形人真忙 · 2015/11/11 22:4 ...

  6. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十)-Java反序列化漏洞(2)

    目录 前言: 2.项目配置 3.编写"java 反序列化漏洞"后端代码 4.编写"java 反序列化漏洞"前端代码 5.运行测试 前言: 本篇文章在上一篇文章基 ...

  7. java反序列化漏洞分析

    Java反序列化漏洞(Java Deserialization Vulnerabilities)是一种常见的安全漏洞,其攻击方式是利用Java中的序列化和反序列化机制,通过在序列化数据中插入恶意代码, ...

  8. (38)【JAVA反序列化漏洞】简介、原理、工具、环境、靶场、思路

    目录 一.简介: 二.原理: 2.1.Java对象: 2.2.Java 序列化: 2.3.Java 反序列化: 三.函数: 四.工具: 4.1.ysoserial 0.0.4版 4.2. payloa ...

  9. java反序列化漏洞:2015年被低估的“破坏之王”

    近日,2015年最为被低估的,具有巨大破坏力的漏洞浮出水面.在FoxGlove Security安全团队的@breenmachine 发布一篇博客中介绍了该漏洞在最新版的WebLogic.WebSph ...

最新文章

  1. Dataset之CamVid:CamVid数据集的简介、下载、使用方法之详细攻略
  2. 如何在SSIS的脚本组件中访问变量
  3. MemDC,GDI绘制注意点
  4. 996!007!同是敲了2万行代码,为什么他却晋升了?
  5. 【转】Android应用的自动升级、更新模块的实现 (2)
  6. 【译】Effective TensorFlow Chapter11——在TensorFlow中调试模型
  7. 使用C#中的反射从字符串获取属性值
  8. java column_@Column注解属性详解
  9. MAVEN(一)中的Scope
  10. python自建模块_python导入自建模块的问题
  11. Win11系统虽香但不是想升就能升?这三款精品win11升级检测工具告诉您的爱机是否达标!!!
  12. MT6739充电IC集成步骤
  13. 2.14 Whisper和Swarm
  14. 博客园Training Team加入申请帖
  15. MySQL的binLog、redoLog、undoLog是什么?
  16. SVAC国家标准介绍
  17. 大数据和Hadoop什么关系?为什么大数据要学习Hadoop?
  18. String转化为date类型,从而获取星期几
  19. 【理科】2020年高考数学(第八章 立体几何)考点与题型全归纳
  20. 在linux系统命令行模式下如何输入中文

热门文章

  1. Python isdigit() isalnum()
  2. swagger ui 值类型形参加文字注释
  3. 收缩sqlserver事务日志
  4. (转载)Manacher'sAlgorithm: O(n)时间求字符串的最长回文子串
  5. Batis-iBatis基本操作(增删改查)
  6. ST Visual Programmer批量烧写教程
  7. AndroidStudio_安卓原生开发_获取系统S/N序列号_实现在springboot服务端_设备远程保活监控---Android原生开发工作笔记159
  8. SpringCloud工作笔记062---APP消息推送_个推平台API使用经验
  9. SpringCloud学习笔记008---杂七杂八002_spring 注解@Value详解_@Value(quot;#{}quot;)与@Value(quot;${}quot;)的区别
  10. mybatis 主键自增 insert后返回主键