如何比较 Java 中的键和 yaml 文件的内容?
How to compare the keys and the content of a yaml-file in Java?
我想找一个框架,
它能够比较两个 yaml 文件的内容。
我找到了 link,他们在 ruby 中是如何描述它的。
How to compare keys in yaml files?
但我正在为它寻找 Java 框架。
如果结果能像"git diff"命令那样显示就好了。
谢谢
您可以使用 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);
}
}
我想找一个框架, 它能够比较两个 yaml 文件的内容。
我找到了 link,他们在 ruby 中是如何描述它的。 How to compare keys in yaml files?
但我正在为它寻找 Java 框架。
如果结果能像"git diff"命令那样显示就好了。
谢谢
您可以使用 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);
}
}