Groovy - parse json: как найти определенный «блок» в ответе json с целью дальнейшего его анализа - PullRequest
0 голосов
/ 20 ноября 2018

Предварительное условие: я тестирую REST в инструменте SoapUI.Я отправляю запрос, и в результате у меня есть ответ json, который я хочу проанализировать с помощью кода groovy:

    {"List": [
      {
      "id": 1,
      "data1": "xxx",    
      "data2":       {
         "node1": "1",
         "node2": "4",
         "node3": 1,
      }
   },
      {
      "id": 2,
      "data1": "yyy",    
      "data2":       {
         "node1": "2",
         "node2": "6",
         "node3": 2,
      }
   },
      {
      "id": 3,
      "data1": "zzz",    
      "data2":       {
         "node1": "2",
         "node2": "6",
         "node3": 2,
      }
   }
]}

Цель: я хочу найти определенный блок (например, с "id" =2), и продолжаем анализировать этот блок с целью дальнейших утверждений.

Например, я хочу убедиться, что непосредственно в "блоке" с "id" = 2, те узел1 / узел2 / узел 3{2, 6, 2} соответственно.

Итак, как это сделать с помощью groovy (на шаге soapUI script)?

1 Ответ

0 голосов
/ 21 ноября 2018
import groovy.json.JsonSlurper
def data = new JsonSlurper().parse ...

def e = data.List.find{it.id==1}
assert e.data1=="xxx"
...