因此,通过对Stackoverflow的研究,especially this topic,我确定我有一个嵌入在其他工作的getter/setter设置中的JSON对象字典。当我打电话给API时,这些属性的传统getter/setter工作正常,但那是因为我知道属性的名称是什么。我怎样才能得到这个工作对象的名字为errors
的未知属性,以及该对象在(Map<String,List>
)中的格式是什么?解析和映射具有动态属性的JSON对象
API响应:
{
"success":false,
"response_code":1,
"status_message":"One or more errors has occurred.",
"errors":{
"171":["Some error message."],
"555":["Some other error message."]
}
}
我的POJO:
public class APIResponse {
private boolean success;
private int response_code;
private String status_message;
private Map<String, List> errors = new HashMap<>();
...
}
我如何设置的getter/setter方法和正确的字典格式(貌似也许是Map<String,List>
),这样我就可以开始接收这个动态的errors
对象?
我正在使用Invocation.Builder
将API响应解析为对象。
Response response= invocationBuilder.post(Entity.entity(APIRequest, MediaType.APPLICATION_JSON));
APIResponse formattedResponse = response.readEntity(APIResponse.class);
是“一些错误消息”的JSON数组或JSON对象? –
它看起来像一个字符串数组(但只有一个字符串),这个例子就是它返回的确切格式。 –