Java 如何使用动态键为json创建POJO类以进行改装?
在上面的json中,“pages”对象中的数字键是动态的。那么如何为这个json创建pojo呢 请,请,请帮帮我。 我已经找了很多,但是没有找到有效的。 另外,我是一个初学者在改造,所以请详细回答。Java 如何使用动态键为json创建POJO类以进行改装?,java,android,json,gson,retrofit2,Java,Android,Json,Gson,Retrofit2,在上面的json中,“pages”对象中的数字键是动态的。那么如何为这个json创建pojo呢 请,请,请帮帮我。 我已经找了很多,但是没有找到有效的。 另外,我是一个初学者在改造,所以请详细回答。 我已经看到一些答案提到在这种情况下使用map(例如)。但这些答案并没有得到恰当的阐述。请帮助我彻底理解。您可以使用hashmap在页面类中获取其他属性/动态属性 { "batchcomplete": "", "warnings": { "main": { "*": "Un
我已经看到一些答案提到在这种情况下使用map(例如)。但这些答案并没有得到恰当的阐述。请帮助我彻底理解。您可以使用
hashmap
在页面
类中获取其他属性/动态属性
{
"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": ""
}
}
}
}
private Map additionalProperties=new HashMap();
@JsonAnyGetter
公共映射getAdditionalProperties(){
返回此。附加属性;
}
@JSONANYSETER
public void setAdditionalProperty(字符串名称、对象值){
this.additionalProperties.put(名称、值);
}
您可以在页面
类中使用哈希映射
来获取其他属性/动态属性
{
"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": ""
}
}
}
}
private Map additionalProperties=new HashMap();
@JsonAnyGetter
公共映射getAdditionalProperties(){
返回此。附加属性;
}
@JSONANYSETER
public void setAdditionalProperty(字符串名称、对象值){
this.additionalProperties.put(名称、值);
}
公共类查询{
私有列表规范化;
私人地图页;
//吸气剂和塞特
公共地图getPages(){
返回页面;
}
公共无效设置页(地图页){
this.pages=页面;
}
公共类页面{
私有字符串pageid;
私人互联网;
私有字符串标题;
私有字符串提取;
//定义所有getter和setter方法
}
公共课堂演讲{
来自的私有字符串;
私有字符串到;
}
}
//使用setter方法在Pages类中添加数据。Page pageObj=新页面();pageObj.setPageid(“164634”);pageObj.setns(0)。。。
创建本地映射pagesObj=newhashmap();
pagesObj.put(“164634”,pageObj);
使用设置页面(pagesObj);定值
公共类查询{
私有列表规范化;
私人地图页;
//吸气剂和塞特
公共地图getPages(){
返回页面;
}
公共无效设置页(地图页){
this.pages=页面;
}
公共类页面{
私有字符串pageid;
私人互联网;
私有字符串标题;
私有字符串提取;
//定义所有getter和setter方法
}
公共课堂演讲{
来自的私有字符串;
私有字符串到;
}
}
//使用setter方法在Pages类中添加数据。Page pageObj=新页面();pageObj.setPageid(“164634”);pageObj.setns(0)。。。
创建本地映射pagesObj=newhashmap();
pagesObj.put(“164634”,pageObj);
使用设置页面(pagesObj);定值
不要直接问问题。你们必须自己试一下,若你们不能解决问题,那个么用示范的方式提问。看看这个,这可能会对你有所帮助,我知道如何制作pojo类,这在链接中有解释。但问题在于json具有动态键。若你们知道的话,请帮助我。@SahilPatil你们尝试过hashmap解决方案吗?不要直接问问题。你们必须自己尝试,若你们不能解决这个问题,那个么通过演示提问。看看这个,这可能会对你有所帮助,我知道如何制作pojo类,这在链接中有解释。但问题在于json具有动态键。如果您知道,请帮助我。@SahilPatil您尝试过hashmap解决方案吗?
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;
}
}