からIDを削除するにはどうすればJSR223アサーションで2 jsonsを比較していると私は、レスポンスJSONから、すべてのレベルからIDを削除して喜んだ:のJMeter - 与えられたJSON
{
"id" : 52906,
"name1" : "559812 Company name1",
"name2" : "559812 Company name2",
"country" : "DE",
"interests" : {
"id" : 848675,
"description" : false
},
"emails" : [ {
"id" : 904881,
"address" : "[email protected]"
} ],
...
私が使用していますGroovyのコードに従ってください:
def slurper2 = new JsonSlurper();
def jsonResponse = slurper2.parseText(prev.getResponseDataAsString());
jsonResponse.rows.findAll { it.remove("id") };
しかし、それは動作しません - 助言してください。
クラスのJavaDoc: ' 輸入groovy.json.JsonSlurper インポートgroovy.json: – Nelly
私は、次のコードを使用していました。 JsonBuilder JsonSlurperのslurper =新しいJsonSlurper(); def expected = slurper.parseText( "{\ n""name1 \":\ "" + vars.get( "comp")+ "会社名1 \"、\ n " +" NAME2 \ "\ "" + vars.get( "COMP")+" 当社NAME2 \ "\ n" は + "\ "メール\":[{\ n" +」\ "アドレス\":\ "" + vars.get( "COMP")+ "@ gmail.com \" \ n "は +"}]、\ n」 + "} \ n"); ' – Nelly
DEF応答= prev.getResponseDataAsString() DEF実= response.replaceAll( "\" のID \ "[] * [^} \\]] * [、]?"、 ""); DEF expected2 =新しいJsonBuilder(予想).toPrettyString(); log.info(実際+ "= ACTUAL")。 log.info( "EXPECTED =" + expected2); if(expected2!= actual){ SampleResult.setSuccessful(false); } jsonsに表示される唯一の違いは、実際には空白(空白行)(削除されたIDを持つ行)です。したがって、比較結果は失敗します。私は間違って何をしていますか? – Nelly