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

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

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

  1. [
  2. {
  3. "ID": "0ae6496f-bb0b-4ebd-a094-ca766e82f3e7",
  4. "Confirmed": 0,
  5. }
  6. {
  7. "ID": "e010ced5-c7cb-4090-a7ed-206f4c482a5b",
  8. "Confirmed": 0,
  9. }
  10. ]

我访问了 Confirmed 例如

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

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

  1. {
  2. "prefixes": [
  3. {
  4. "region": "ap-northeast-2",
  5. "service": "AMAZON",
  6. },
  7. {
  8. "region": "eu-west-3",
  9. "service": "AMAZON",
  10. }
  11. ]
  12. }

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

irtuqstp

irtuqstp1#

必须为返回类型创建pojo:

  1. List<RegionServiceObject> items;

哪里 RegionServiceObject 看:

  1. public class RegionServiceObject {
  2. private String region;
  3. private String service;
  4. // constructors, getters/setters, toString()....
  5. }

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

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

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

  1. for (RegionServiceObject item : items) {
  2. item.getRegion();
  3. item.getService();
  4. // use them here
  5. }
展开查看全部

相关问题