首页 > 解决方案 > 如何查找两个 JSON 文件中的差异并打印出现差异的行号

问题描述

我有两个对象顺序相同的 JSON 文件。我想打印两者的差异,并打印发生差异的行号。例如。输出应该是这样的:

“在 Expected.json 中发现的差异:在“在此处打印 LineNumber”-> 在此处打印差异。

标签: javajsongsoncompare

解决方案


像这样的东西:

Scanner file1 = new Scanner(new File(file1Path));
Scanner file2 = new Scanner(new File(file2Path));

int lineCounter = 1;
while(file1.hasNextLine() && file2.hasNextLine()) {
    lineFile1 = file1.nextLine();   
    lineFile2 = file2.nextLine(); 

    if(!lineFile1.equals(lineFile2)) {
        System.out.println("Difference found in Expected.json: on " + lineCounter);
        System.out.println("File1 line: " + lineFile1);
        System.out.println("File2 line: " + lineFile2);
    }
    lineCounter++;
}

推荐阅读