Jmeter Json Extractor с несколькими условными - не удалось - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь создать Json Extractor, и это мыслительная деятельность.У меня есть такая структура json:

[  
 {  
  "reportType":{  
     "id":3,
     "nomeTipoRelatorio":"etc etc etc",
     "descricaoTipoRelatorio":"etc etc etc",
     "esExibeSite":"S",
     "esExibeEmail":"S",
     "esExibeFisico":"N"
  },
  "account":{  
     "id":9999999,
     "holdersName":"etc etc etc",
     "accountNamber":"9999999",
     "nickname":null
  },
  "file":{  
     "id":2913847,
     "typeId":null,
     "version":null,
     "name":null,
     "format":null,
     "description":"description",
     "typeCode":null,
     "size":153196,
     "mimeType":null,
     "file":null,
     "publicationDate":"2018-12-05",
     "referenceStartDate":"2018-12-05",
     "referenceEndDate":"2018-12-06",
     "extension":null,
     "fileStatusLog":{  
        "idArquivo":2913847,
        "dhAlteracao":"2018-12-05",
        "nmSistema":"SISTEMA X",
        "idUsuario":999999,
        "reportStatusIndicador":"Z"
     }
  }
 }
]

Что мне нужно сделать: Прежде всего, я использую опцию «Вычислить конкатенацию var» и «Совпадение №»как -1.Поскольку служба может дать ответ на многие из них.

Я должен проверить, если «reportStatusIndicador» = «Z» или «Y», если положительный, я должен собрать File.Id ИЛИ file.FileStatusLog.idArquivo, они одинаковые, я пробовал первый вариант, в данном случае это число «2913847», но если получится больше результатов, я соберу все File.id`s

с этими значениями в руках, Я продолжу с каждым для каждого File.id.

Моя последняя попытка, была эта комбинация, после прочтения много и пробовал много других комбинаций.

[? (@... file.fileStatusLog.reportStatusIndicador == 'Z' || @ ... file.fileStatusLog.reportStatusIndicador == 'Y')]. file.id

Но мой обработчик постов отладки всегда выглядит так, пусто: filesIds =

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Перейти на $..[?(@.file.fileStatusLog.reportStatusIndicador == 'Z' || @.file.fileStatusLog.reportStatusIndicador == 'Y')].file.id

Демо:

enter image description here

Ссылки:

0 голосов
/ 05 декабря 2018

Я мог бы сделать это с этим шаблоном:

[?(@.file.fileStatusLog.reportStatusIndicador == 'Z' || 
@.file.fileStatusLog.reportStatusIndicador == 'Y')].file.id

filesIds_ALL = 2913755,2913756,2913758,2913759,2913760,2913761,2913762,2913763,2913764,2913765,2913766,2913767,29137682132913770

...