Столкнулся с проблемой маршализации объектов в Json, сначала пробовал это делать с помощью классов в Android API 32 (JSONWriter/Reader), но не получилось, залез в эти классы и обнаружил множественные ошибки "Cannot resolve symbol ....(далее названия разных библиотек и классов)". В гугле найти решение не смог, решил подключить Jackson. Написал код и вроде бы должен работать, но программа снова входит в кэтч блок. Через Ctrl+B залез в FileOutputStream, как оказалось в java файл и там куча аналогичных ошибок. Но погда я нашел этот класс в библиотеке Java 11 то там все норм.
Настройки проекта следующие:
- MinSDK Android API 21
- Target SDK Android API 32
- Java 11
- Gradle 7.4.2
- Android Gradle Plagin 7.2.1
Код следующий:
public static void writheJsonStream(String dir, List<Cat> cats)
throws IOException {
FileOutputStream fileOutputStream = new FileOutputStream(dir);
JsonMapper jsonMapper = new JsonMapper();
for (Cat cat : cats) {
jsonMapper.writeValue(fileOutputStream, cat);
}
}