如果我可以获得以下 JSON 正文之一作为响应:
{
"error" : "some error",
"code": 123
}
或
[
{
"name" : "name",
"value" : "value"
},
{
"name" : "name",
"value" : "value"
}
]
有没有办法使用注释将这些响应映射到下面的 Java POJO?
public class Response {
String error;
int code;
List<NameValuePair> nameValuePairs;
}
最佳答案
开箱即用,只有错误响应才会反序列化。问题是它们是根本不同的类型——对象与数组。
您可以使其与 Jackson 的自定义模块一起使用,如 here 所述。
关于Java/Jackson注释: Mapping either an array or object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57797676/