Heyyo,
В настоящее время я работаю над проектом, где пользователь должен иметь возможность импортировать / экспортировать данные программы в файл JSON (типа TreeMap<String, List<Observation>>
, где Observation - класс, содержащий LocalDate date
и int value
)
Для достижения экспортной части я использовал некоторые файлы JAR Jackson 2.9.7, чтобы получить доступ к ObjectMapper и, таким образом, экспортировать данные в файл JSON. Работает!
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(file, handler.get(LocalDate.MIN, LocalDate.MAX));
Однако для достижения части импорта я снова использовал JAR-файлы Jackson 2.9.7, чтобы получить доступ к Object mapper, который снова, Работает!
byte[] rawJson = new byte[dStream.available()];
ObjectMapper mapper = new ObjectMapper();
dStream.readFully(rawJson);
map = mapper.readValue(rawJson, TreeMap.class);
Однако, когда я пытаюсь добавить элементы, которые я сейчас импортировал, на временную карту, структура больше не соответствует ожидаемой. Вместо этого он, кажется, преобразовал его в LinkedHashMap с несколькими записями, и поэтому я не могу просто использовать класс Observation
. Я предполагаю, что это потому, что я использую TreeMap.class
при чтении, хотя после некоторых попыток я не могу сказать, что знаю, как действовать.