两个 rest api 响应使用放心的差异



我正在尝试比较两个环境的其余 API 响应。我正在使用请放心来得到回复。我面临的问题是我得到了一个带有几个哈希映射的哈希图。

我尝试将地图展平为一张地图,但是当响应略有不同时,我仍然缺少层次结构

以下是 REST 响应的示例

{  
   programmes:[  
      {  
         episodenumber:21,
         seasonnumber:5,
         seasontitle:"program Season 5",
         seasonuuid:"7aabb30e-39a1-48bb-8dca-38f732c9c982",
         seriestitle:"programm",
         seriesuuid:"f95caa09-8cd7-4e23-a88a-444f7932714d",
         sy:"blah blah blah. (S5, ep 21)",
         t:"blah blah Fathers",
         trailer:false,
         type:"programme",
         uuid:"69b91264-37c9-4b2f-a515-b45805a58867",
         uuidtype:"programme",
         waystowatch:{  
            svod:[  
               {  
                  ad:false,
                  added:1495800164,
                  at:"DD",
                  availendtime:1497729599,
                  broadcasttime:1495137600,
                  cgid:10053,
                  cgname:"blah",
                  channelname:"blah1 HD",
                  d:2880,
                  downloadlink:"oig://FFC27E94",
                  hardofhearing:false,
                  is3d:false,
                  providerid:"ab_st_hd",
                  providername:"blah HD",
                  s:true,
                  sid:4061,
                  size:2352611,
                  sy:"blah blah. (S5, ep 21)",
                  videotype:"HD"
               }
            }
         ]         ps:255,
         tc:3
      }

我正在使用番石榴差异库,为此,我需要一个简单的地图。我知道这可能不是做这个比较的最佳方法,但这是短暂的,这是我能想到的。我的问题是我如何平坦化此响应以制作一张我可以传递给的地图

 MapDifference<String, ?> diff = Maps.difference(test, test2);

或者有没有更好的方法来比较两个答案。我必须在运行时获得两个响应。

如果您愿意评估其他工具,请查看空手道,因为它旨在:

  • 允许您在(简化的(JSON本身中指定预期的有效负载
  • 使您能够对两个 JSON 有效负载执行"深度相等"比较
  • 要灵活,以便在只想检查字段子集时执行contains
  • 通过允许您将这些字段标记为忽略或使用模糊匹配来处理动态值
  • 甚至让你处理元素是JSON(不仅仅是基元(的数组,并在需要时忽略顺序

免责声明:我开发。

最新更新