比较Java中的2个(无序)JSONObjects?

时间:2018-02-26 08:01:40

标签: java

假设我有2个json文件,并且我有2个JSONObject-s(1代表每个文件),文件代表相同的数据,但是文件中块的不同顺序。

例如:

file1.json

name: {

    entry1
    entry3
    entry2

}

file2.json

name: {

    entry2
    entry1
    entry3

}

每个文件中的entry-i是相同的。

即使顺序不同,我怎么能对他们进行平等?

由于

1 个答案:

答案 0 :(得分:0)

将整个JSON模型转换为Java对象。在您的示例中,每个“条目”都可以是一个字符串。如果它比你必须实现类似POJOs之类的东西更复杂。那些POJO应该有equalshashCode方法(要注意他们的contract

然后只需将每个JSON的所有条目放入HashSet(没有任何订单 - > click)并将HashSetsequals进行比较彼此。