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的结果不是很完美,总是带一些类型信息
待解决.......