java - 将 JSON 默认标记映射到 java 变量

标签 java spring jackson

我正在使用一个休息服务,其中传入的 JSon 响应是这样的

 "thumbnailUrls": {
      "small": "skinresources/unpackaged/images/default_event.jpg",
      "medium": "skinresources/unpackaged/images/default_event.jpg",
      "large": "skinresources/unpackaged/images/default_event.jpg",
      "default": "skinresources/unpackaged/images/default_event.jpg"
    },

我创建了一个 Java 类来映射下面列出的值是下面的 Java 代码

public class ThumbNailUrlDTO {

    private String small;

    private String medium;


    private String large;

    private String default;
}

我遇到的问题是我不能在这里使用默认名称,因为它是 java 关键字我该如何处理这个问题

最佳答案

是“default”,无效的 VariableDeclaratorId,你不能在 java 中使用 default 作为变量名,它是 java 中的预定义关键字。

像这样为 json 字段名称更改变量名称和映射:- 使用 @JsonProperty :

public class ThumbNailUrlDTO {
    @JsonProperty("small")
    private String small;

    @JsonProperty("medium")
    private String medium;

    @JsonProperty("large")
    private String large;

    @JsonProperty("default")
    private String defaultStr;
}

这将解决问题。

关于java - 将 JSON 默认标记映射到 java 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37913795/

相关文章:

java - 使用 SSLSocket Java 创建应用程序

java - Spring 验证: method parameter constraint not called

Java/Android 未知主机异常

java - Spring数据库配置问题

java - Jackson - 仅对特定的 JSON 使用自定义反序列化器

jackson - RESTEasy + jackson : how to exclude fields in the response?

Java 流 : find if stream contains null

java - 使用数据 JPA 和 CrudRepository 只保存而不更新

hibernate - 将 Spring、Hibernate、JPA 和 Tomcat 与多个数据库结合使用的选项

java - Jackson Java 8 LocalDateTime 使用 nanos 序列化