如何使用rest模板进入json对象?

a11xaf1n  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(245)

我学习了如何使用rest模板访问json数组,如下所示:

[
    {
        "ID": "0ae6496f-bb0b-4ebd-a094-ca766e82f3e7",
        "Confirmed": 0,
    }
    {
        "ID": "e010ced5-c7cb-4090-a7ed-206f4c482a5b",
        "Confirmed": 0,
    }
]

我访问了 Confirmed 例如

public Model[] getModel() {
    ResponseEntity<Model[]> response = restTemplate.getForEntity(apiUrl, Model[].class);
    return response.getBody();
}

但是现在我必须从另一个api访问另一个json中的数据。数据是这样的

{
    "prefixes": [
        {
            "region": "ap-northeast-2",
            "service": "AMAZON",
        },
        {
            "region": "eu-west-3",
            "service": "AMAZON",
        }
    ]
}

如何访问 region 或者 service 在里面,这个应该叫什么名字?
第一个是json数组,第二个是json对象?
第一个api很简单
https://example.com
而第二个是
https://example.com/data.json.

irtuqstp

irtuqstp1#

必须为返回类型创建pojo:

List<RegionServiceObject> items;

哪里 RegionServiceObject 看:

public class RegionServiceObject {
    private String region;
    private String service;
    // constructors, getters/setters, toString()....
}

对对象进行去搜索的方法与您已经编写的方法类似:

RegionServiceObject[] items = restTemplate.getForObject(url, RegionServiceObject[].class);

特定项目的访问权限将与特定项目的访问权限相同 item :

for (RegionServiceObject item : items) {
    item.getRegion();
    item.getService();
    // use them here
}

相关问题