如何在Java中比较yaml文件的键和内容?
我想找到一个框架, 它能够比较两个yaml文件的内容 我找到了一个链接,他们是如何用ruby描述的。 但是我正在为它寻找一个Java框架 如果结果可以像“gitdiff”命令那样显示,那就太好了 谢谢您可以使用和jackson 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
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);
}
}