java-yml工具类JYaml用法

背景:使用filebeat采集日志,需要动态的生成filebeat.yml内容,以驱动filebeat根据不同的逻辑干不同的业务

yml格式的文件内容实际就是一个大对象,或者说一个嵌套的json,一个可能包含复杂结构value的map

JYaml是yml对应的java工具类,封装了一些比较实用的工具方法

参考网站:http://jyaml.sourceforge.net/tutorial.html

这个工具类目前是不维护了,yml本身没什么值得一直扩展的技术,满足简单的基本的用处就好了

最新的jar

<dependency>
       <groupId>org.jyaml</groupId>
       <artifactId>jyaml</artifactId>
       <version>1.3</version>
</dependency>

支持的数据类型:

JYaml支持的数据类型:

  • 原始数据类型(如int)和包装类(如Integer)
  • JavaBean 兼容对象
  • collection(List,Set)
  • Map
  • Arrays
  • Date

主要方法

注意:a JavaBean must have a null constructor (a constructor with no arguments) as well.

意思是如果是javaBean作为dump的对象,必须有一个空构造方法

Yaml.dump(object, new File("object.yml"),true);---true表示去掉类型信息
Object object = Yaml.load(new File("object.yml"));

项目中主要用到dump方法,dump的结果不是很完美,总是带一些类型信息

待解决.......

原文地址:https://www.cnblogs.com/yb38156/p/14690382.html