我正在使用一个休息服务,其中传入的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关键字我该如何处理这个问题
答案 0 :(得分:5)
是"默认",无效的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;
}
这将解决问题。
答案 1 :(得分:2)
您可以使用注释来自定义用于此属性的JSON名称:
public class ThumbNailUrlDTO {
private String small;
private String medium;
private String large;
@JsonProperty("default")
private String defaultVal;
}
通过这种方式,您可以避免使用java关键字“default”。