如何使用 Rest 模板进入 JSON 对象?
How to use Rest Template to step into a JSON object?
我学会了如何使用 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.
您必须为 return 类型创建 POJO:
List<RegionServiceObject> items;
RegionServiceObject
的位置:
public class RegionServiceObject {
private String region;
private String service;
// constructors, getters/setters, toString()....
}
object反序列化的方式和你写的类似:
RegionServiceObject[] items = restTemplate.getForObject(url, RegionServiceObject[].class);
并且对于特定 item
:
特定项目的访问将像往常一样
for (RegionServiceObject item : items) {
item.getRegion();
item.getService();
// use them here
}
我学会了如何使用 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.
您必须为 return 类型创建 POJO:
List<RegionServiceObject> items;
RegionServiceObject
的位置:
public class RegionServiceObject {
private String region;
private String service;
// constructors, getters/setters, toString()....
}
object反序列化的方式和你写的类似:
RegionServiceObject[] items = restTemplate.getForObject(url, RegionServiceObject[].class);
并且对于特定 item
:
for (RegionServiceObject item : items) {
item.getRegion();
item.getService();
// use them here
}