合并我的代码后,为什么我的@JsonAlias无法正常工作?

时间:2019-07-30 16:10:03

标签: java json eclipse jackson

对不起,但是我对编码/ java还很陌生。我的webhook没有读取别名数据。不知道它在哪里破。

我使用Eclipse在java springboot gradle中开发了一个webhook。我原来的代码工作得很好。我只需要将某些文件传输到主文件中,而不是进行git合并,而是克隆了主代码并添加了我的部分。合并后,代码成功运行,但是没有获取所有信息。有效负载具有“ user_username”,我将其称为“ username”,因此我使用了别名并确保已导入所有内容并列出了相关性。我能想到的唯一问题是我的杰克逊注释版本说它覆盖了2.8版本(@JsonAlias为2.9及更高版本)。我没有其他注释,但确实有一个我尝试排除的jackson-core v2.8,但仍然无法正常工作。

我的班级变量:

import com.fasterxml.jackson.annotation.JsonAlias;
@JsonAlias({"user_username"})
private String username;

我的吸气剂:

public String getUsername() {
    return username;
}

我的电话:

String commitUsername = payload.getUsername();

我的pom:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.10.0.pr1</version>
    <exclusions>
        <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </exclusion>
    </exclusions>
</dependency> 

我希望我的commitUsername是“ root_user”,但我会得到null。

1 个答案:

答案 0 :(得分:0)

经过数小时的尝试删除,四处移动并覆盖依赖项。问题是主人正在使用过时的杰克逊核心。主人也抓住了这一点并进行了更新,因此我不必寻找解决方案。谢谢您的帮助。 一项绷带修复:只需使用它们在注解2.9之前使用的@JsonProperty(“ user_username”)