如何在java中比较/区分两个对象
我有两个对象,一个对象A来自现有产品,另一个对象B来自我们的新管道。最终,它们都将被序列化到JOSN中。现在,我想比较这两个管道是否生成相同的结果,这意味着这两个object/JSON是否携带相同的数据集 请注意,相同的意思是,它们具有相同的模式,并且携带相同的数据集。比如说, 对象A有如何在java中比较/区分两个对象,java,json,compare,equals,Java,Json,Compare,Equals,我有两个对象,一个对象A来自现有产品,另一个对象B来自我们的新管道。最终,它们都将被序列化到JOSN中。现在,我想比较这两个管道是否生成相同的结果,这意味着这两个object/JSON是否携带相同的数据集 请注意,相同的意思是,它们具有相同的模式,并且携带相同的数据集。比如说, 对象A有 {"person" : [{"name": "alice"}, {"name": "bob"}, {"name" : "mike"}]}, 及 对象B具有 {"person" : [{"name": "bo
{"person" : [{"name": "alice"}, {"name": "bob"}, {"name" : "mike"}]},
及
对象B具有
{"person" : [{"name": "bob"}, {"name": "alice"}, {"name" : "mike"}]}.
如果运行JSONDiss something,这将导致差异,但在我的例子中,即使键/值对的顺序不同,它们也应该被认为是相同的。Object/JSON的结构可能更复杂,但其思想是,在每个包/子包中,它们应该包含相同的数据集
就我而言,目标不仅仅是找出它们是否“相同”,而是找出它们之间的区别?例如,对象3有一个名为“name”的键/值对,即对象1没有的“Tom”。我总是只需要比较两个物体
我想知道是否有任何现有的图书馆可以这样做?或者有什么建议吗?我知道这有点过时了。。。(看完后)
这里有一个答案应该是可行的:为什么它们被认为是相同的?@MattBall,因为如问题中所述,对象内的集合被视为集合。您是否尝试对两个数组进行排序,然后比较两者?然后您必须使用外部比较器。将JSON解析为某种POJO,该POJO使用您想要的语义。