如何在java中比较/区分两个对象

时间:2015-02-03 19:49:45

标签: java json compare equals

我有两个对象,一个对象A来自现有的生产,另一个对象B来自我们的新管道。最终他们都将被序列化为JOSN。现在,我想比较这两个管道是否生成相同的结果,这意味着如果这两个对象/ JSON携带相同的数据集。

注意,同样的意思是,它们具有相同的模式,并携带相同的数据集。例如,

对象A有

{"person" : [{"name": "alice"}, {"name": "bob"}, {"name" : "mike"}]}, 

对象B有

{"person" : [{"name": "bob"}, {"name": "alice"}, {"name" : "mike"}]}. 

如果您运行JSONDiss,这将导致差异,但在我的情况下,即使键/值对的顺序不同,它们也应被视为相同。 Object / JSON的结构可能更复杂,但想法是,在每个包/子包中,它们应包含相同的数据集。

对于我的情况,目标不只是找到它们是否“相同”,而是找出有什么区别?例如,对象3有一个名为“name”的键/值对:对象1没有的“Tom”。我总是只需要比较两个对象。

我想知道有没有现成的库?或者有任何建议吗?

1 个答案:

答案 0 :(得分:0)

我知道这有点老了......(见过这个)

以下是一个应该有效的答案:Compare JSON with nested arrays and jsons (Array order does not matter)