2017-06-08 1 views
2

Ich versuche, den Rest API-Antwort von zwei Umgebungen zu vergleichen. Ich benutze Ruhe, um die Antwort zurückzubekommen. Das Problem, mit dem ich konfrontiert bin, ist, dass ich eine Hashmappe zurückbekomme, die ein paar Hashmaps hat.Zwei Rest api Antwort diff mit Ruhe gesichert

Ich habe versucht, die Karte in eine Karte Abflachung aber halten auf eine Hierarchie fehlt, wenn die Antwort leicht

hier unterscheidet, ist eine Probe der Rest Antwort

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

ich die Guave diff lib bin mit und dafür brauche ich eine einfache Karte. Ich weiß, dass dies vielleicht nicht der beste Vergleich ist, aber das ist für eine kurze Dauer und das ist, was ich mir vorstellen kann. Meine Frage ist, wie ich entweder diese Antwort abflachen eine Karte zu machen, die ich zu

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

passieren kann, oder gibt es eine bessere Möglichkeit, zwei Antworten in sich darauf verlassen, zu vergleichen. Ich muss beide Antworten zur Laufzeit bekommen.

+0

Hoffe das hilft https://stackoverflow.com/questions/2253750/compare-two-json-objects-in-java – Naresh

+0

Nein löst nicht das Problem, ich versuche zu lösen, danke, obwohl –

Antwort

0

Wenn Sie einen Blick auf Karate offen sind andere Werkzeuge zur Bewertung, weil es entworfen wurde:

  • erlauben Sie erwartet Nutzlasten in (vereinfacht) JSON selbst
  • ermöglichen es Ihnen, ein ausführen zu spezifizieren „deep Gleichen“ Vergleich von zwei JSON Nutzlasten
  • flexibel sein, so dass Sie eine contains tun, wenn Sie nur eine Teilmenge von Feldern
  • Griff dynamische Werte, indem wir dir diese Felder markieren überprüfen möchten, wie ignorieren zu werden d oder verwenden Sie eine fuzzy match
  • sogar lassen Sie Arrays behandeln, in denen die Elemente JSON sind (nicht nur Primitive), und die Reihenfolge ignorieren, wenn
  • benötigt

Haftungsausschluss: am dev.

Verwandte Themen