2016-11-18 3 views
2

бегает запрос в Jmeter которого ответа выглядит примерно так:Процесс jsonpath постпроцессор результат

{ 
    "Items":[ 
    { 
     "Available":3, 
     "Info":[ 
     {  
      "Sample1":1, 
      "Sample2":33, 
      "Sample3":50, 
      "Sample4":"asd", 
      "Sample5":88, 
      "Sample6":null, 
      "Sample7":null, 
      "Sample8":null, 
      "Sample9":35, 
      "Sample0":35 
     } 
     ] 
    } 
    ] 
} 

И моя цель состоит в том, чтобы идти по списку пунктов (в моем примере есть только один, но может быть больше), и если «Доступно» больше 0, сохраните некоторые значения из «Инфо» в переменной, чтобы использовать их для следующего запроса.

Сейчас мое решение, что я добавил JSON путь постпроцессор и там отдельные значения, как это:

$.Items[?(@.Available > 0)].Info[0].Sample1[0]; 
$.Items[?(@.Available > 0)].Info[0].Sample2[0]; 
$.Items[?(@.Available > 0)].Info[0].Sample3[0]... 

, но очевидно, что это не очень красивое решение, и я также думаю, что это займет слишком много ресурс, если я должен делать это много раз.

Так что мой вопрос заключается в том, что это как-то можно отделить элемент

$.Items[?(@.Available > 0)].Info[0] 

, а затем обработать его, чтобы получить поля мне нужно?

+0

Вы хотите прочитать все значения «Sample *», используя один JSON PATH Extractor? –

+0

@Naveen Нет, только некоторые из них. – user7177532

+0

@Naveen Извините, я не заметил слова «сингл» в вашем вопросе, для меня не имеет значения, сколько выражений JSON-пути я использую для получения значений, я просто не хотел бы называть «доступно» больше 0 'проверяют каждое выражение, если это возможно. – user7177532

ответ