Есть ли хорошая библиотека yaml для Android? - PullRequest
7 голосов
/ 29 октября 2010

Существует ли библиотека java yaml для snakeyaml для Android? (Или кто-нибудь уже успешно использует snakeyaml на Android?)

Ответы [ 3 ]

5 голосов
/ 01 ноября 2010

Я не думаю, что вы можете использовать SnakeYaml на Android без изменений (по крайней мере сейчас).

По умолчанию SnakeYaml использует Introspector, чтобы получить PropertyDescriptors для классов, и, как я вижу, java.beans.Introspector недоступно на Android.Но в SnakeYaml есть режим BeanAccess.FEILD, который использует поля для выгрузки / загрузки бинов.В этом режиме используются только классы java.lang.reflect, доступные на Android.

Так что с некоторыми изменениями он может работать.Но я должен попробовать это, чтобы быть уверенным.

Добавлено

Теперь совместимую с Android версию SnakeYaml можно построить с помощью:

mvn -Pandroid clean package

Обновление (март 2017 г.):

Начиная с версии 1.18 сборка Android находится в центре.Вы можете добавить зависимость в свой pom.xml следующим образом

<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version> VERSION </version>
  <classifier>android</classifier>
</dependency>
0 голосов
/ 09 июля 2019

Из ответа Как преобразовать YAML в JSON в Java?

String convertYamlToJson(String yaml) {
    ObjectMapper yamlReader = new ObjectMapper(new YAMLFactory());
    Object obj = yamlReader.readValue(yaml, Object.class);

    ObjectMapper jsonWriter = new ObjectMapper();
    return jsonWriter.writeValueAsString(obj);
}

Требуется:

implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.7.4'
0 голосов
/ 29 октября 2010

Я думаю, что вы должны хотя бы попробовать напрямую snakeyaml. Для библиотеки такого типа весьма вероятно, что необходимый набор API Java доступен в Android.

Если это не работает, вы можете попробовать импортировать исходный код snakeyaml в проект Android и посмотреть, что не компилируется. Если немного повезет, можно будет обойти отсутствующие API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...