Я пытаюсь десериализовать свой хэш-карту (JSON) в класс POJO, используя Jackson - ObjectMapper . Ниже приведена хэш-карта:
List<Object> setJSONValues = new ArrayList<Object>(Arrays.asList(requestObj));
List<String> setJSONKeys = apiUtility.readJSONKeys(new File("ABC.csv"));
HashMap<String, Object> requestMap = new HashMap<String, Object>();
if (setJSONKeys.size() == setJSONValues.size()) {
for (int i = 0; i < setJSONKeys.size(); i++) {
requestMap.put(setJSONKeys.get(i), setJSONValues.get(i));
}
}
Я хочу использовать этот requestMap в своем классе POJO с помощью средства сопоставления объектов, см. ниже:
objectMapper.readValue(objectMapper.writeValueAsString(requestMap), MyRequestDTO.class);
Я получаю следующую ошибку: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: нераспознанное поле «apptDateTime» (класс Collector.MyRequestDTO)
Вышеупомянутая ошибка возникает, потому что O/P моего objectMapper.writeValueAsString(requestMap)
: {" \"apptDateTime\"":"\"2019-03-19 10:00:00\"","\"meter\"": "\"8682\""
Добавление Hashmap O/P:
for (String s:requestMap.keySet())
System.out.println("Key is "+s+"Value is "+requestMap.get(s));
Вывод: Ключ — «apptDateTime». Значение — «2019-03-19 10:00:00». Ключ — «meter». Значение — «8682».
setJSONKeys
? Можете ли вы показать код дляapiUtility.readJSONKeys
? Похоже, он не возвращает ключи должным образом. - person Joni   schedule 08.04.2020