1

我想比较两个 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代码

4

0 回答 0