这个问题在这里已有答案:
我从API的响应中得到以下JSON模式,它可以是:
{
"meta": {
"someData": " "
},
"A": [
{
"code": 123,
"id": "string",
"data": {}
},
{
"code": 123,
"id": "string",
"data": {}
}
]
}
要么
{
"meta": {
"someData": " "
},
"B": [
{
"code": 123,
"id": "string",
"data": {}
},
{
"code": 123,
"id": "string",
"data": {}
}
]
}
如何从列表或属性A
或属性B
获取日期?
我希望输出类似于:
A[0].data = {}
A[1].data = {}
要么
B[0].data = {}
B[1].data = {}
我想存储data属性,它是一个在地图中具有可变数量的子属性的对象。
你应该能够使用jackson的对象映射器。您应该创建一个类或接口来定义您的json对象。 A或B可能是个问题。您可以为每个创建一个类/接口。
final ObjectMapper objectMapper = new ObjectMapper();
final CallbackRequest callbackRequest = objectMapper.readValue(json, CallbackRequest.class);
这是一个使用可能的多种类型反序列化json对象的示例:Jackson deserialization of type with different objects