当前位置: 首页 > 知识库问答 >
问题:

JDK8 java.time有jackson数据类型模块吗?

梁丘凯定
2023-03-14

据我所知,Jackson仍然是针对JDK6编译的,所以不能直接使用这些类,必须将其构建为一个单独的模块,就像Joda所要求的那样。

我不介意开始这个项目,尽管我想看看是否有其他的努力已经在进行中。

共有1个答案

施阳夏
2023-03-14

如前所述,Jackson-Datatype-JSR310提供了对Java8time的支持。

自从Jackson 2.6.0以来,“旧的”JSR310Module就不推荐使用了。它被JavaTimeModule所取代。Maven依赖项是相同的(您可以在Maven Central中找到当前版本):

<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
    <version>2.6.0</version>
</dependency>

您必须像这样注册模块:

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
ObjectMapper mapper = new ObjectMapper(); 
mapper.findAndRegisterModules();
ObjectMapper mapper = JsonMapper.builder()
        .findAndAddModules()
        .build();
 类似资料:
  • 在我看来,Jackson JDK8数据类型模块偶尔会忽略参数名称模块,这似乎有点令人惊讶,因为两者都需要JDK8并解决与JDK8相关的特定用例。 这里的问题是,如果没有显式指定参数名称(这就是parameter names模块应该做的),我无法找到一种方法使JSON反序列化工作。仅当试图传递JDK8特定类型(<code>可选 问题是-如何使其工作,以便我可以利用参数名称模块(即不需要在构造函数中指

  • 问题内容: 我花了一些时间想知道是否有可能编写一个guice模块,该模块本身使用类型T进行参数化,并使用其type参数指定绑定。 像在此示例(不起作用)中那样: 我尝试了不同的方法,试图将T作为类/ TypeLiteral的实例传递给MyModule,但没有一个起作用。帮助表示赞赏。 问候,zukasz Osipiuk 问题答案: 为此,您将必须使用从头开始构建每个TypeLiteral 。您可以

  • 除了默认的 javascript 模块,还有 css、html 以及资源模块。 coolie.js 默认就支持js、html、css、file、text和json六中模块类型。 并且支持模块类型出口定义,如html模块出口为一个 url,或者一个image模块出口为 base64。 使用方法: require(modulePath[, modulePipeline]); modulePath:模

  • 主要内容:1. 概述,2. TypeHandler,3. TypeReference,4. 注解,5. JdbcType,6. TypeHandlerRegistry1. 概述 ① MyBatis 为简化配置文件提供了别名机制,该机制是类型转换模块的主要功能之一。 ② 类型转换模块的另一个功能是实现 JDBC 类型与 Java 类型之间的转换,该功能在为 SQL 语句绑定实参以及映射查询结果集时都会涉及: 在为 SQL 语句绑定实参时,会将数据由 Java 类型转换成 JDBC 类型。 而在映射

  • 主要内容:1 泛型数据绑定的示例在简单的数据绑定中,我们使用了Map类,该类使用String作为键,使用Object作为值对象。取而代之的是,我们可以换成一个具体类型的Java对象,然后将其类型转换为JSON。 1 泛型数据绑定的示例 1.1 编写核心类 MainApp: 1.2 运行测试

  • 建立数据模型类 通常在使用数据库之前,我们需要先建立好对应数据表的模型类。当然在sp框架里面可以简化这个步骤,直接通过自带的Model类来进行数据模型操作。 以下是两种方案: 不建立模型类,直接用Model进行操作 <?php class DbController extends BaseController { function actionIndex(){ // 直接使