2017-06-08 3 views
2

J'essaie de comparer la réponse API restante de deux environnements. J'utilise rassurez-vous pour obtenir la réponse en retour. Le problème que je suis confronté est que je reçois un hashmap qui a quelques hashmaps.Deux repos api réponse diff en utilisant repos assuré

J'ai essayé aplatir la carte dans une carte, mais continuer à manquer une hiérarchie lorsque la réponse diffère légèrement

est ici un échantillon de la réponse de repos

{ 
    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 
     } 

J'utilise la goyave diff lib et pour cela, j'ai besoin d'une carte simple. Je sais que ce n'est peut-être pas le meilleur de faire cette comparaison, mais c'est pour une courte durée et c'est ce que je peux trouver. Ma question est de savoir comment puis-je aplatir cette réponse à faire une carte que je peux passer à

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

ou est-il une meilleure façon de comparer les deux réponses dans rassurez-vous. Je dois obtenir à la fois la réponse à l'exécution.

+0

J'espère que cela aide https://stackoverflow.com/questions/2253750/compare-two-json-objects-in-java – Naresh

+0

non ne résout pas le problème que j'essaie de résoudre, merci –

Répondre

0

Si vous êtes ouvert à l'évaluation d'autres outils jeter un oeil à Karate parce qu'il a été conçu pour:

  • vous permettent de spécifier des charges utiles attendues (simplifié) JSON se
  • vous permettent d'effectuer une « profonds égaux » comparaison des deux charges utiles JSON
  • être flexible afin que vous faites un contains si vous voulez seulement vérifier un sous-ensemble de champs
  • valeurs dynamiques de la poignée en vous permettant de marquer les champs à ignorer d ou utiliser un fuzzy match
  • même vous permettent de gérer des tableaux où les éléments sont JSON (pas primitives seulement), et d'ignorer l'ordre si nécessaire

Avertissement: am dev.