如何在Java中比较yaml文件的键和内容?

如何在Java中比较yaml文件的键和内容?,java,spring,yaml,string-comparison,snakeyaml,Java,Spring,Yaml,String Comparison,Snakeyaml,我想找到一个框架, 它能够比较两个yaml文件的内容 我找到了一个链接,他们是如何用ruby描述的。 但是我正在为它寻找一个Java框架 如果结果可以像“gitdiff”命令那样显示,那就太好了 谢谢您可以使用和jackson yaml进行比较 添加以下依赖项: implementation 'com.flipkart.zjsonpatch:zjsonpatch:0.4.10' implementation 'com.fasterxml.jackson.dataformat:jackson-d

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

我找到了一个链接,他们是如何用ruby描述的。

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

如果结果可以像“gitdiff”命令那样显示,那就太好了

谢谢

您可以使用和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);
    }
}
您可以使用和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);
    }
}