【发布时间】:2020-05-02 07:36:00
【问题描述】:
我想找一个框架, 它能够比较两个 yaml 文件的内容。
我找到了一个链接,他们如何用 ruby 描述它。 How to compare keys in yaml files?
但我正在为它寻找一个 Java 框架。
如果结果可以像“git diff”命令一样显示,那就太好了。
谢谢
【问题讨论】:
标签: java spring yaml string-comparison snakeyaml
我想找一个框架, 它能够比较两个 yaml 文件的内容。
我找到了一个链接,他们如何用 ruby 描述它。 How to compare keys in yaml files?
但我正在为它寻找一个 Java 框架。
如果结果可以像“git diff”命令一样显示,那就太好了。
谢谢
【问题讨论】:
标签: java spring yaml string-comparison snakeyaml
您可以使用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);
}
}
【讨论】: