Android有一个很好的yaml库吗?

时间:2010-10-29 16:51:32

标签: java android yaml

对于Android,有一个java yaml库和snakeyaml一样好吗? (或者是否有人在Android上成功使用过snakeyaml?)

3 个答案:

答案 0 :(得分:5)

我不认为你可以在没有修改的情况下在Android上使用SnakeYaml(至少现在)。

默认情况下,SnakeYaml使用Introspector来获取课程的PropertyDescriptors,而我可以看到java.beans.Introspector在Android上不可用。但是SnakeYaml中有BeanAccess.FEILD模式,它使用字段来转储/加载bean。该模式仅使用Android上提供的java.lang.reflect个类。

因此,通过一些修改它可能会起作用。但我需要尝试以确定。

<强>加

现在可以使用以下内容构建Android兼容版本的SnakeYaml:

mvn -Pandroid clean package

更新(2017年3月):

从1.18开始,android构建位于中心位置。您可以像这样将

添加到pom.xml中
<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version> VERSION </version>
  <classifier>android</classifier>
</dependency>

答案 1 :(得分:0)

我认为你至少应该直接尝试使用snakeyaml。对于这种类型的库,很可能所需的Java API集在Android中可用。

如果它不起作用,您可以尝试在android项目中导入snakeyaml源代码并查看无法编译的内容。运气不错,可以解决缺少的API。

答案 2 :(得分:0)

从答案How do I convert from YAML to JSON in 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'