我有一个JSON文件,如下所示
{
"boost_id": "75149",
"content_id": "627680",
"headline": "19 Rare Historical Photos That Will Leave You Breathless ",
"target_url": "http://stars.americancolumn.com/2016/02/21/historical-photos/?full=1",
"return": "district"
}
我需要将json字符串转换为java对象。自"返回"被称为Java保留关键字无法与返回变量形成Dto。
是否有任何其他方法可以使用保留变量并将上述JSON转换为JAVA对象。
下面是我的Dto结构,
public class RevcontentReportResponse {
private String boost_id;
private String content_id;
private String headline;
private String target_url;
// private String return;
public String getBoost_id() {
return boost_id;
}
public void setBoost_id(String boost_id) {
this.boost_id = boost_id;
}
public String getContent_id() {
return content_id;
}
public void setContent_id(String content_id) {
this.content_id = content_id;
}
public String getHeadline() {
return headline;
}
public void setHeadline(String headline) {
this.headline = headline;
}
public String getTarget_url() {
return target_url;
}
public void setTarget_url(String target_url) {
this.target_url = target_url;
}
}
主要方法:
ObjectMapper mapper = new ObjectMapper();
File json = new File("historic.json");
RevcontentReportResponse cricketer = mapper.readValue(json, RevcontentReportResponse.class);
System.out.println("Java object created from JSON String :");
System.out.println(cricketer);
答案 0 :(得分:3)
使用JsonProperty注释:
@JsonProperty("return")
private String returnValue;
也就是说,JSON代表JavaScript Object Notation,return也是一个JavaScript关键字(对于许多其他语言来说也是如此)。您最好在JSON中更改属性的名称。
答案 1 :(得分:2)
只需添加一个带有getter / setter的字段,然后使用@JsonProperty("return")
进行注释。