yaml文件只解析第一层,解析为Map<String,String>,并且支持反解析,工具类
这几天公司有个特殊的需求,需要进行yml解析成map,支持页面上的修改,然后在保存为yml文件和key value,存到两张表中,网上没找到合适的工具类,于是自己写了一个,下面是代码分享,支持所有的yml格式,但是由于要做互转,所以注释会被去掉
package com.bilibili.bmr.cluster.config.utils;
import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.util.StrUtil;
import jodd.util.StringUtil;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class YmlUtils {
public static String mapToYaml(Map<String, String> map) {
StringBuilder str = new StringBuilder();
Set<String> keySet = map.keySet();
for (String key : keySet) {
String value = map.get(key);
if(value.contains(":") || value.contains("-")){
str.append(key).append(":").append