JMeter: JSON выражений пути - Извлечение JSON блоков с использованием нескольких условий - PullRequest
0 голосов
/ 14 июля 2020

Я хочу извлечь JSON блок, удовлетворяющий нескольким условиям. Например, извлеките блок, в котором есть переменные с двумя или более желаемыми значениями. См. Приведенный ниже пример.

[
  {
   id:"1",
   name:"ABC - Project 1",
   appName:"XYZ",
   state:"New",
   appType:"owner",
   date:"May 12"
  },

  {
   id:"2",
   name:"DEF - Project 2",
   appName:"UVW",
   state:"In Progress",
   appType:"manager",
   date:"May 13"
  },

  {
   id:"3",
   name:"GHI - Project 3",
   appName:"RST",
   state:"In Progress",
   appType:"owner",
   date:"May 12"
  },

  {
   id:"4",
   name:"JKL - Project 4",
   appName:"OPQ",
   state:"Expired",
   appType:"entity owner",
   date:"July 13"
  }
]

Из приведенного выше JSON я хочу извлечь блок JSON, в котором состояние: «Выполняется» или состояние: «Новый», любое из этих состояний и он должен иметь тип appType: "Owner" вместе с именем: ... Project 1; то есть следующие блоки в качестве вывода:

  {
   id:"1",
   name:"ABC - Project 1",
   appName:"XYZ",
   state:"New",
   appType:"owner",
   date:"May 12"
  }

Какие JSON выражения пути, которые я должен использовать для извлечения:

$.[?((@.state == "In Progress" || @.state == "New") && @.appType== "owner" && <some regex expression>)]

Но он не извлекает никаких результат. Есть ли способ использовать несколько условий для "OR / ||" и условие «И / &&» для извлечения этого конкретного блока. Пожалуйста, помогите!

Спасибо, Сид

1 Ответ

1 голос
/ 14 июля 2020

Ваше выражение отлично работает для меня:

enter image description here

So you might want to double check:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...