2017-06-08 7 views
2

私は2つの環境の残りのAPI応答を比較しようとしています。私は応答を返すために安心して使用しています。私が直面している問題は、ハッシュマップを取得してハッシュマップを取得することです。安息の2つの残りのAPI応答diff

私は1つのマップにマップを平坦化しようとしたが、応答は、ここで少し

を異なる場合階層を逃し続けてきたが、私はグアバのdiffのlibを使用しています残り応答

{ 
    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); 

に渡すことができるか、安心で2つの応答を比較するためのより良い方法があるのマップを作るために、この応答を平坦に行う方法です。実行時に両方の応答を取得する必要があります。

+0

これが役に立ったらhttps://stackoverflow.com/questions/2253750/compare-two-json-objects-in-java – Naresh

+0

私は解決しようとしている問題は解決していません –

答えて

0

あなたは他のツールを評価することに開いている場合、それはように設計されているためKarateを見てみましょう:

  • あなたは(簡体字)JSON自体
  • に期待されるペイロードを指定できるように実行することができますあなたがcontainsを行うように、あなただけ無視されるよう、あなたがそれらのフィールドをマークさせることにより、フィールド
  • ハンドル動的な値のサブセットを確認したい場合は2つのJSONペイロードの「深い等しい」の比較は
  • 柔軟であることDまたは使用fuzzy match
  • も、あなたは要素がJSONを(だけでなく、プリミティブ)されている配列を処理し、

免責事項、必要に応じて順番を無視してみましょう:午前devのを。

関連する問題