【问题标题】:How to compare the keys and the content of a yaml-file in Java? [closed]如何比较 Java 中 yaml 文件的键和内容? [关闭]
【发布时间】:2020-05-02 07:36:00
【问题描述】:

我想找一个框架, 它能够比较两个 yaml 文件的内容。

我找到了一个链接,他们如何用 ruby​​ 描述它。 How to compare keys in yaml files?

但我正在为它寻找一个 Java 框架。

如果结果可以像“git diff”命令一样显示,那就太好了。

谢谢

【问题讨论】:

    标签: java spring yaml string-comparison snakeyaml


    【解决方案1】:

    您可以使用zjsonpatch 和jackson-yaml 进行比较...

    添加以下依赖项:

    implementation 'com.flipkart.zjsonpatch:zjsonpatch:0.4.10'
    implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.8'
    

    试试这个:

    import com.fasterxml.jackson.databind.JsonNode;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
    import com.flipkart.zjsonpatch.JsonDiff;
    
    import java.io.File;
    
    public class Main {
    
        public static void main(String[] args) throws Exception{
            ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
            JsonNode file1 = objectMapper.readTree(new File("/your/file/path/file1.yml"));
            JsonNode file2 = objectMapper.readTree(new File("/your/file/path/file2.yml"));
            JsonNode patch = JsonDiff.asJson(file1, file2);
            String diffs = patch.toString();
            System.out.println(diffs);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 2015-01-19
      • 2021-12-05
      相关资源
      最近更新 更多