【发布时间】:2020-03-01 20:19:14
【问题描述】:
我是 Java 的超级新手,我正在尝试解析 JSON 并将数据处理成如下所示的最终数据结构。
我有这个模型:
public class StoreInfo {
private String storeName;
private String storeCode;
private List<StoreLocations> locations = new ArrayList<>();
}
这是我调用 Redis 得到的 JSON 响应:
redisResult = "[{
storeName: 'Walmart',
storeCode: '0001',
locations: [ [Object] ]
},
{
displayName: 'Wegmans',
storeCode: '0002',
locations: [ [Object] ]
}]"
当我调用 Redis 时,我使用 keyName groceryStores 和 fieldName 1。
我想要一个如下所示的数据结构:
groceryStores: { 1 : [
{
storeName: 'Walmart',
storeCode: '0001',
locations: [ [Object] ]
},
{
displayName: 'Wegmans',
storeCode: '0002',
locations: [ [Object] ]
}]
我在使用 Jackson 将初始 JSON 字符串解析为 StoreInfo 类型时遇到了很多麻烦。当我尝试以下操作时,我从杰克逊那里得到一个例外:
StoreInfo[] storeInfoArray = objectMapper.readValue(redisResult, StoreInfo[].class);
我不明白如何创建
StoreInfo对象的数组。然后,使用键和字段来创建我的最终数据结构。
我是 Java 的超级新手,我已经知道如何在 Javascript 中完成后面的部分,但是如何在 Java 中完成呢?
// Assuming the JSON response has been parsed
function addResponse (response, key, field, data) {
response[key] = {}
response[key][field] = data
return response
}
【问题讨论】:
标签: java json parsing data-structures jackson