如何使用动态键为 JSON 创建 POJO 类以进行改造?


{
  "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 中,"pages" 对象中的数字键是动态的。那么我如何为这个 json 制作一个 pojo。

拜托,拜托,请帮助我。 我已经搜索了很多,但没有任何效果。 另外,我是改造的初学者,所以请详细回答。 我看到一些答案提到在这种情况下使用地图(例如。使用改造解析动态键 json 字符串(。但这些答案没有得到适当的阐述。请帮助我彻底理解它。

您可以将 A hashmap用于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);
}
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类中添加数据。Page pageObj = new Page((;pageObj.setPageid("164634"(;pageObj.setns(0(;... 创建本地地图地图页面Obj = new HashMap<>((; pagesObj.put("164634", pageObj(; 使用 setPages(pagesObj(;设置值

最新更新