1、添加依赖
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>
2、java代码写
public static void main(String[] args) throws IOException {
String path = "D:\\user2.yaml";
DumperOptions dumperOptions = new DumperOptions();
dumperOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml = new Yaml(dumperOptions);
FileWriter writer = new FileWriter(path, false);
BufferedWriter buffer = new BufferedWriter(writer);
//buffer.newLine();
LinkedHashMap<String,Object> labels = new LinkedHashMap<>();
labels.put("level","S2");
labels.put("deviceInfo","\"{{$labels.targetName}}\"");
labels.put("content","\"{{$labels.targetName}}:{{ $value }}\"");
LinkedHashMap<String,Object> annotations = new LinkedHashMap<>();
annotations.put("description","\"{{$labels.target}}\"");
annotations.put("value","\"{{$value}}\"");
LinkedHashMap<String,Object> rule = new LinkedHashMap<>();
rule.put("alert","alertname");
rule.put("expr","sum");
rule.put("for","1s");
rule.put("labels",labels);
rule.put("annotations",annotations);
List<LinkedHashMap<String,Object>> rules = new ArrayList<>();
rules.add(rule);
LinkedHashMap<String,Object> group = new LinkedHashMap<>();
group.put("rules",rules);
List<LinkedHashMap<String,Object>> groups = new ArrayList<>();
groups.add(group);
LinkedHashMap<String,Object> map = new LinkedHashMap<>();
map.put("groups",groups);
yaml.dump(map, buffer);
buffer.close();
writer.close();
}
![](https://i-blog.csdnimg.cn/blog_migrate/ec848b54f87e3d6acbb14d50733be729.png)
3、java代码读
InputStream input = new FileInputStream("D:\\user2.yaml");
Yaml yaml = new Yaml();
Map<String, Object> object = (Map<String, Object>) yaml.load(input);
System.out.println(object);