Я супер новичок в Java и пытаюсь проанализировать JSON и манипулировать данными в окончательную структуру данных, как показано ниже.
У меня есть эта модель:
public class StoreInfo {
private String storeName;
private String storeCode;
private List<StoreLocations> locations = new ArrayList<>();
}
Вот ответ JSON, который я получаю от вызова Redis:
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] ]
}]
У меня много проблем с использованием Джексона для анализа исходной строки 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
}