【发布时间】:2022-12-30 09:02:51
【问题描述】:
我正在尝试从 ResponseEntity 获取单个嵌套值,但我正在尝试这样做而不必为每个可能的项目创建一个 pojo,因为这是第三方 api 响应。
示例 response.getBody() 作为 JSON:
{
"message": "2 records found",
"records": [
{
"Account": {
"Id": "1",
"Name": "Foo Inc"
},
"CaseNumber": "200",
"Contact": {
"FirstName": "Foo",
"LastName": "Bar"
},
"Status": "In Progress",
"StatusMessage": "We are working on this."
},
{
"Account": {
"Id": "1",
"Name": "Foo Inc"
},
"CaseNumber": "100",
"Contact": {
"FirstName": "Foo",
"LastName": "Bar"
},
"Status": "Closed"
}
]
}
基本上,如果我在 JS,我正在寻找:
for(let record of res.body.records){
if(record && record.CaseNumber === "200"){
console.log(record.Status)
}
res.body.records[0].Status
目前,他们这样做是为了检查响应是否为空:
LinkedHashMap<Object, Object> resMap = (LinkedHashMap<Object, Object>) response.getBody();
List<Object> recordsList = (List<Object>) resMap.get("records");
if (recordsList.size() <= 0) { return error }
但是我需要获得“状态”的价值,并且我需要在不创建 pojo 的情况下这样做。
我感谢有关如何在 Java 中执行此操作的任何指导
【问题讨论】:
标签: java parsing response-entity