使用 gson 解析键值对类型数据结构



我正在尝试使用 gson 库解析以下响应:

{
    "successful": true,
    "resultObject": {
        "areas": {
            "New york": [{
                "id": 1,
                "name": "Some area 1 in NY"
            }, {
                "id": 2,
                "name": "Some area 2 in NY"
            }, {
                "id": 3,
                "name": "Some area 3 in NY"
            }],
            "San Fransisco": [{
                "id": 1,
                "name": "Some area 1 in SF"
            }, {
                "id": 2,
                "name": "Some area 2 in SF"
            }, {
                "id": 3,
                "name": "Some area 3 in SF"
            }],
            "New Jersey": [{
                "id": 1,
                "name": "Some area 1 in NJ"
            }, {
                "id": 2,
                "name": "Some area 2 in NJ"
            }, {
                "id": 3,
                "name": "Some area 3 in NJ"
            }]
        }
    }
}

我试图使用

Pair<String, City[]>[] cities;

解析区域键,但它每次都显示为 null。City类的Java代码:

public class City {
        private String id;
        private String name;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        @Override
        public String toString() {
            return "ClassPojo [id = " + id + ", name = " + name + "]";
        }
    }

任何帮助,不胜感激。

如果需要解析整个 json,我建议您使用自定义类,如下所示:

public class GsonContainer{
    public boolean successful;
    public ResultObject resultObject;
    public static class ResultObject{
        public Map<String, List<City>> areas;
    }
}//end class

如果只是区域下的 json,请改用Map<String,List<City>>

最新更新