我想比较两个 json 响应。我需要一种方法来比较响应,不仅忽略子属性的顺序,还忽略 json 数组中元素的顺序。例如:
目标响应:
{
name:abc,
category:bbb
place:aaa,
arrayList:[
{
id:1,
description:blah blah,
count:3
},
{
id:2,
count:4,
description:blah blah
}
]
}
源响应
{
name:abc,
place:aaa,
category:ccc
arrayList:[
{
id:2,
description:blah blah,
count:3
},
{
id:1,
count:3,
}
]
}
当我比较以上两个响应时,我应该得到一个具有以下差异的差异列表
differenceList:[
{ result: mismatch,
targetPath: .category,
sourcePath: .category,
target: bbb,
source: cccc
},
{ result: attribute not found in source response,
targetpath: .arrayList[0].description,
target: blah blah,
source: null
},
{ result: Mismatch,
targetpath: .arrayList[1].count,
sourcepath: .arrayList[0].count,
target: 4,
source: 3
}
]
尝试使用 json 比较器它似乎不起作用。为此需要一个java代码