{
"batchcomplete": "",
"warnings": {
"main": {
"*": "Unrecognized parameter: rvprop."
},
"extracts": {
"*": "\"exlimit\" was too large for a whole article extracts request, lowered to 1."
}
},
"query": {
"normalized": [
{
"from": "pune",
"to": "Pune"
}
],
"pages": {
"164634": {
"pageid": 164634,
"ns": 0,
"title": "Pune",
"extract": ""
}
}
}
}
在上面的json中,"页面内的数字键"对象是动态的。那我怎么为这个json做一个pojo。
拜托,拜托,请帮助我。 我已经为此搜索了很多,但没有任何效果。 我也是改装的初学者,所以请详细回答。 我已经看到一些答案提到了这种情况下使用地图(例如Parse Dynamic Key Json String using Retrofit)。但这些答案没有得到恰当的阐述。请帮我彻底理解。
答案 0 :(得分:2)
您可以在hashmap
班级中使用A Pages
获取其他属性/动态属性
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
答案 1 :(得分:0)
public class Query {
private List<Address> normalized ;
private Map<String, Pages> pages;
//getter & Setter
public Map<String, Pages> getPages() {
return pages;
}
public void setPages(Map<String, Pages> pages) {
this.pages = pages;
}
public class Pages {
private String pageid;
private int ns;
private String title;
private String extract;
//define all getter and setter methods
}
public class Address{
private String from;
private String to;
}
}
//通过使用setter方法在Pages类中添加数据。页面pageObj = new Page(); pageObj.setPageid(“ 164634”); pageObj.setns(0); ... 创建本地Map Map页面Obj = new HashMap <>(); pagesObj.put(“ 164634”,pageObj); 使用setPages(pagesObj);设置值