我有两个第三方api的,我击中和得到的回应是 ResponseEntity<Object>
使用resttemplate。我想将响应解组为对象,以便可以访问其中的内容。
ResponseEntity<Object> response = restTemplate.exchange(apiEndPointToHit,HttpMethod.GET,null,Object.class);
第一次api响应
{
"responseStatus": "SUCCESS",
"size": 88,
"start": 0,
"limit": 200,
"sort": "id asc",
"users": [
{
"user": {
"user_name": "XYZ",
"user_first_name": "XYZ",
"user_last_name: "XYZ",
"user_email": "XYZ",
}
},
{
"user":{
"user_name":"ABC",
"user_first_name":"ABC",
"user_last_name":"ABC",
},
},
{
"user":{
"user_name":"PQR",
"user_first_name":"PQR",
"user_last_name":"PQR",
}
},
}
]
}
在此响应中,用户将包含多个用户。我要获取所有用户的列表。这样我就可以访问列表字段中每个用户对象的内容,如user\u name、user\u first\u name等。
第二个api响应为
{
"message": {
"documents": {
}
}
}
在这种情况下,一条消息将包含一个文档。我想访问文档。json响应包含多个字段。因此不可能创建pojo类。有没有办法通过创建pojo类来访问响应实体中的对象?
1条答案
按热度按时间eoigrqb61#
我们可以使用对象Map器或jsonobject来帮助反序列化json主体。我建议使用jsonobject并遵循下面的示例来解包jsonbody。
1.添加依赖项
初始化从resttemplate传递JSonResponse的jsonobject。
尝试访问jsonresponse中的对象