在SoapUi中,如何从json响应中提取特定于列的数据? [英] In SoapUi, how to extract column specific data form the json response?

查看:60
本文介绍了在SoapUi中,如何从json响应中提取特定于列的数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从json响应中提取列特定的数据

  {新英格兰学校__NE学校$":{"dsData":帐户ID#%#Territory#%#District#%#Area#%#Region#%#objname#%#〜ID〜#%#〜Lat-Lon Linked〜#%#〜Latitude〜#%#〜Longitude〜#%#〜Lat-Lip Zip〜#%#学校名称#%#Address#%#City#%#State#%#ZIP#%#ZIP4#%#学校类型#%#Status#%#学校级别#%#免费午餐计数#%#减少午餐数量#%#午餐总数Pgm#%#学生总数#%#幼儿园前#%#幼儿园#%#1年级%%#2年级%#%#3年级%#等级4#%#等级5#%#等级6#%#等级7#%#等级8#%#等级9#%#等级10#%#等级11#%#等级12#%#领土1#%#Region1#%#lat#%#lon#%#terrid \ r \ n15709#%#Hartford,CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15709#%#True#%#41.934711#%#-72.770021#%#06026#%#R.DUDLEY SEYMOUR SCHOOL#%#185 HARTFORD AVENUE#%#EAST GRANBY#%#CT#%#6026#%#9520#%#1#%#1#%#2#%#0#%#0#%#0#%#131#%#0#%#0#%#0#%#0#%#0#%#60#%#71#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford,CT#%#新英格兰#%#5151204.33051376#%#-8100721.57141633#%#3\ r \ n15707#%#Hartford,CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15707#%#True#%#41.934894#%#-72.730656#%#06026#%#EAST G兰比中学#%#95南大街#%#东格兰比#%#CT#%#6026#%#9550#%#1#%#1#%#3#%#0#%#0#%#0#%#219#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#57#%#55#%#53#%#54#%#Hartford,CT#%#新英格兰#%#5151231.26605957#%#-8096340.03625871#%#3 \ r \ n15708#%#CT#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15708#%#True#%#41.934894#%#-72.730656#%#06026#%#EAST GRANBY MIDDLE SCHOOL#%#95 South Main Street#%#东格兰比#%#CT#%#6026#%#9550#%#1#%#1#%#2#%#0#%#0#%#0#%#201#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#67#%#73#%#61#%#0#%#0#%#0#%#0#%#CT#Hartford#%#新英格兰#%#5151231.26605957#%#-8096340.03625871#%#3 \ r \ n15706#%#CT#Hartford#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15706#%#True#%#41.944215#%#-72.732696#%#06026#%#ALLGROVE学校#%#33土耳其山道#%#EAST GRANBY#%#CT#%#6026#%#9570#%#1#%#1#%#1#%#0#%#0#%#0#%#275#%#3#%#69#%#65#%#82#%#56#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford,CT#%#新英格兰#%#5152627.52929053#%#-8096567.12801993#%#3 \ r \ n15710#%#CT哈特福德#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15710#%#True#%#41.944215#%#-72.732696#%#06026#%#HOMEBOUND#%#33 TURKEY HILL ROAD#%#EAST GRANBY#%#CT#%#6026#%#674#%#4#%#3#%#4#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#CT#哈特福德%#New England#%#5152627.52929053#%#-8096567.12801993#%#3 \ r \ n15923#%#Hartford,CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15923#%#True#%#42.0027#%#-72.942#%#06027#%#HOMEBOUND#%#30 South Road#%#EAST HARTLAND#%#CT#%#6027#%#9710#%#4#%#3#%#4#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford,CT#%#新英格兰#%#5161383.89953631#%#-8119866.29744296#%#3\ r \ n15922#%#Hartford,CT#%#新英格兰#%#Unassigned#%#Unassigned#%#帐户#%#15922#%#True#%#42.0027#%#-72.942#%#06027#%#HARTLAND基础学校#%#30 South Road#%#EAST HARTLAND#%#CT#%#6027#%#9710#%#1#%#1#%#1#%#0#%#0#%#0#%#2#%#0#%#25#%#17#%#26#%#29#%#37#%#36#%#38#%#35#%#40#%#0#%#0#%#0#%#0#%#Hartford,CT#%#新英格兰#%#5161383.89953631#%#-8119866.29744296#%#3 \ r \ n16335#%#} 

我的Groovy脚本是

  log.info json."New England Schools__NE Schools \ $".dsData 

上面显示的是其中包含列及其数据的所有数据,但是我不确定如何获取列特定的数据.

例如, Territory 是我的列,其行值为 Hartford,CT

如果上述方法无法实现,请告诉我如何中断所有响应(就像在Java中那样拆分),以便我可以调用特定值?

解决方案

在仔细研究之后,注意到它具有行和列形式的数据,并以#%#和记录由回车符换行符标记分隔.

您提供的数据仅具有几个字段而具有一些额外的记录,因此要提供一个有效的脚本,必须在其末尾修剪该多余的额外字段.

这是 Groovy脚本:

  def str ='''帐户ID#%#Territory#%#District#%#Area#%#Region#%#objname#%#〜ID〜#%#〜Lat-Lon Linked〜#%#〜Latitude〜#%#〜Longitude〜#%#〜Lat-Lip Zip〜#%#学校名称#%#Address#%#City#%#State#%#ZIP#%#ZIP4#%#学校类型#%#Status#%#学校等级#%#Count免费午餐#%#Count减少午餐#%#Total Lunch Pgm#%#Total Students#%#PreKindergarten#%#幼儿园#%#等级1#%#等级2#%#等级3#%#等级4#%#等级5#%#等级6#%#等级7#%#等级8#%#等级9#%#等级10#%#等级11#%#等级12#%#Territory1#%#Region1#%#lat#%#lon#%#terrid \ r \ n15709#%#Hartford,CT#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15709#%#True#%#41.934711#%#-72.770021#%#06026#%#R.DUDLEY SEYMOUR SCHOOL#%#185 HARTFORD AVENUE#%#EAST GRANBY#%#CT#%#6026#%#9520#%#1#%#1#%#2#%#0#%#0#%#0#%#131#%#0#%#0#%#0#%#0#%#0#%#60#%#71#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#CT哈特福德#%#新英格兰#%#5151204.33051376#%#-8100721.57141633#%#3 \ r \ n15707#%#CT哈特福德,CT#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15707#%#True#%#41.934894#%#-72.730656#%#06026#%#EAST GRANBY HIGH SCHOOL#%#95南部大街#%#EASTGRANBY#%#CT#%#6026#%#9550#%#1#%#1#%#3#%#0#%#0#%#0#%#219#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#57#%#55#%#53#%#54#%#哈特福德,CT#%#新英格兰#%#5151231.26605957#%#-8096340.03625871#%#3 \ r \ n15708#%#哈特福德,CT#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15708#%#True#%#41.934894#%#-72.730656#%#06026#%#EAST GRANBY中学#%#95南大街#%#EAST GRANBY#%#CT#%#6026#%#9550#%#1#%#1#%#2#%#0#%#0#%#0#%#201#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#67#%#73#%#61#%#0#%#0#%#0#%#0#%#Hartford,CT#%#新英格兰#%#5151231.26605957#%#-8096340.03625871#%#3 \ r \ n15706#%#哈特福德,CT#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15706#%#True#%#41.944215#%#-72.732696#%#06026#%#ALLGROVE SCHOOL#%#33土耳其山道#%#EASTGRANBY#%#CT#%#6026#%#9570#%#1#%#1#%#1#%#0#%#0#%#0#%#275#%#3#%#69#%#65#%#82#%#56#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#哈特福德,CT#%#新英格兰#%#5152627.52929053#%#-8096567.12801993#%#3 \ r \ n15710#%#哈特福德,CT#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15710#%#True#%#41.944215#%#-72.732696#%#06026#%#HOMEBOUND#%#33土耳其山道#%#EAST GRANBY#%#CT#%#6026#%#674#%#4#%#3#%#4#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford,CT#%#新英格兰#%#5152627.52929053#%#-8096567.12801993#%#3 \ r \ n15923#%#Hartford,CT#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15923#%#True#%#42.0027#%#-72.942#%#06027#%#HOMEBOUND#%#30 SOUTH ROAD#%#EAST HARTLAND#%#CT#%#6027#%#9710#%#4#%#3#%#4#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford,CT#%#新英格兰#%#5161383.89953631#%#-8119866.29744296#%#3 \ r \ n15922#%#Hartford,CT#%#新英格兰#%#Unassigned#%#Unassigned#%#Account#%#15922#%#True#%#42.0027#%#-72.942#%#06027#%#HARTLAND基础学校#%#30南路#%#EAST HARTLAND#%#CT#%#6027#%#9710#%#1#%#1#%#1#%#0#%#0#%#0#%#2#%#0#%#25#%#17#%#26#%#29#%#37#%#36#%#38#%#35#%#40#%#0#%#0#%#0#%#0#%#Hartford,CT#%#新英格兰#%#5161383.89953631#%#-8119866.29744296#%#3'''//由回车和换行符分隔def数据= str.split('\ r \ n')//按字段分割以从标题行获取公正的列名def标头= data [0] .split('#%#')//仅使用标题键创建地图,以便可以在存储数据时使用它def headerMap = [:]headers.each {header->headerMap [header] =''}/***闭合允许您查询所需数据*需要传递所有记录和行(可读性从1开始)和标题键/字段名称*,因此信息会移位并返回匹配的值*/def getData = {recordList,row,field->"println"请求的数据:\ n行:$ {row} \ n列:$ {field} \ n列值:$ {recordList [row-1] .get(field)}"recordList [row-1] .get(field)}//这是保存所有记录的变量//每个记录都将采用地图的形式,以便可以根据字段轻松查询def记录= []对于(i = 1; i< data.size(); i ++){def fieldData = data [i] .split('#%#')def记录= headerMap.clone()如果(fieldData.size()== headerMap.size()){def键= headerMap.keySet()对于(j = 0; j< keys.size(); j ++){记录[键[j]] = fieldData [j]}println记录//将记录添加到记录记录<<记录}}//一些元数据信息println标题:$ {headers}"println标头编号:$ {headers.size()}"println行数:$ {records.size()}"/***这是您如何查询特定数据的方法*并且由于它返回值,因此您也可以为其分配变量*/getData(records,1,'Territory')getData(records,7,'Account ID') 

您还可以使用以下步骤快速验证输出:
点击链接=>在控制台中编辑=>执行脚本

I want to extract column specific data form the json response

{
  "New England Schools__NE Schools$": {
"dsData": "Account Id#%#Territory#%#District#%#Area#%#Region#%#objname#%#~ID~#%#~Lat-Lon Linked~#%#~Latitude~#%#~Longitude~#%#~Lat-Lon Zip~#%#School Name#%#Address#%#City#%#State#%#ZIP#%#ZIP4#%#School Type#%#Status#%#School Level#%#Count Free Lunch#%#Count Reduced Lunch#%#Total Lunch Pgm#%#Total Students#%#PreKindergarten#%#Kindergarten#%#Grade 1#%#Grade 2#%#Grade 3#%#Grade 4#%#Grade 5#%#Grade 6#%#Grade 7#%#Grade 8#%#Grade 9#%#Grade 10#%#Grade 11#%#Grade 12#%#Territory1#%#Region1#%#lat#%#lon#%#terrid\r\n15709#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15709#%#True#%#41.934711#%#-72.770021#%#06026#%#R. DUDLEY SEYMOUR SCHOOL#%#185 HARTFORD AVENUE#%#EAST GRANBY#%#CT#%#6026#%#9520#%#1#%#1#%#2#%#0#%#0#%#0#%#131#%#0#%#0#%#0#%#0#%#0#%#60#%#71#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5151204.33051376#%#-8100721.57141633#%#3\r\n15707#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15707#%#True#%#41.934894#%#-72.730656#%#06026#%#EAST GRANBY HIGH SCHOOL#%#95 SOUTH MAIN STREET#%#EAST GRANBY#%#CT#%#6026#%#9550#%#1#%#1#%#3#%#0#%#0#%#0#%#219#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#57#%#55#%#53#%#54#%#Hartford, CT#%#New England#%#5151231.26605957#%#-8096340.03625871#%#3\r\n15708#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15708#%#True#%#41.934894#%#-72.730656#%#06026#%#EAST GRANBY MIDDLE SCHOOL#%#95 SOUTH MAIN STREET#%#EAST GRANBY#%#CT#%#6026#%#9550#%#1#%#1#%#2#%#0#%#0#%#0#%#201#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#67#%#73#%#61#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5151231.26605957#%#-8096340.03625871#%#3\r\n15706#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15706#%#True#%#41.944215#%#-72.732696#%#06026#%#ALLGROVE SCHOOL#%#33 TURKEY HILLS ROAD#%#EAST GRANBY#%#CT#%#6026#%#9570#%#1#%#1#%#1#%#0#%#0#%#0#%#275#%#3#%#69#%#65#%#82#%#56#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5152627.52929053#%#-8096567.12801993#%#3\r\n15710#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15710#%#True#%#41.944215#%#-72.732696#%#06026#%#HOMEBOUND#%#33 TURKEY HILL ROAD#%#EAST GRANBY#%#CT#%#6026#%#674#%#4#%#3#%#4#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5152627.52929053#%#-8096567.12801993#%#3\r\n15923#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15923#%#True#%#42.0027#%#-72.942#%#06027#%#HOMEBOUND#%#30 SOUTH ROAD#%#EAST HARTLAND#%#CT#%#6027#%#9710#%#4#%#3#%#4#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5161383.89953631#%#-8119866.29744296#%#3\r\n15922#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15922#%#True#%#42.0027#%#-72.942#%#06027#%#HARTLAND ELEMENTARY SCHOOL#%#30 SOUTH ROAD#%#EAST HARTLAND#%#CT#%#6027#%#9710#%#1#%#1#%#1#%#0#%#0#%#0#%#2#%#0#%#25#%#17#%#26#%#29#%#37#%#36#%#38#%#35#%#40#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5161383.89953631#%#-8119866.29744296#%#3\r\n16335#%#}

My Groovy script is

log.info json."New England Schools__NE Schools\$".dsData

The above prints all the data inside it with column and its data but I am not sure how to get column specific data.

For example, Territory is my column and its row value is Hartford, CT

If above is not possible the way I want, then please tell me how to break all the response (split kind of thing as we do in Java) so that I can call a specific value?

解决方案

After looking into the detail, noticed that it is having data in the form of rows and columns, separated by #%# and records are separated by carriage return and new line markers.

The data you provided has some extra record with only few fields, so to provide a working script, had to trim that unwanted extra field at the end of it.

Here is the Groovy Script:

def str = '''Account Id#%#Territory#%#District#%#Area#%#Region#%#objname#%#~ID~#%#~Lat-Lon Linked~#%#~Latitude~#%#~Longitude~#%#~Lat-Lon Zip~#%#School Name#%#Address#%#City#%#State#%#ZIP#%#ZIP4#%#School Type#%#Status#%#School Level#%#Count Free Lunch#%#Count Reduced Lunch#%#Total Lunch Pgm#%#Total Students#%#PreKindergarten#%#Kindergarten#%#Grade 1#%#Grade 2#%#Grade 3#%#Grade 4#%#Grade 5#%#Grade 6#%#Grade 7#%#Grade 8#%#Grade 9#%#Grade 10#%#Grade 11#%#Grade 12#%#Territory1#%#Region1#%#lat#%#lon#%#terrid\r\n15709#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15709#%#True#%#41.934711#%#-72.770021#%#06026#%#R. DUDLEY SEYMOUR SCHOOL#%#185 HARTFORD AVENUE#%#EAST GRANBY#%#CT#%#6026#%#9520#%#1#%#1#%#2#%#0#%#0#%#0#%#131#%#0#%#0#%#0#%#0#%#0#%#60#%#71#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5151204.33051376#%#-8100721.57141633#%#3\r\n15707#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15707#%#True#%#41.934894#%#-72.730656#%#06026#%#EAST GRANBY HIGH SCHOOL#%#95 SOUTH MAIN STREET#%#EAST GRANBY#%#CT#%#6026#%#9550#%#1#%#1#%#3#%#0#%#0#%#0#%#219#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#57#%#55#%#53#%#54#%#Hartford, CT#%#New England#%#5151231.26605957#%#-8096340.03625871#%#3\r\n15708#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15708#%#True#%#41.934894#%#-72.730656#%#06026#%#EAST GRANBY MIDDLE SCHOOL#%#95 SOUTH MAIN STREET#%#EAST GRANBY#%#CT#%#6026#%#9550#%#1#%#1#%#2#%#0#%#0#%#0#%#201#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#67#%#73#%#61#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5151231.26605957#%#-8096340.03625871#%#3\r\n15706#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15706#%#True#%#41.944215#%#-72.732696#%#06026#%#ALLGROVE SCHOOL#%#33 TURKEY HILLS ROAD#%#EAST GRANBY#%#CT#%#6026#%#9570#%#1#%#1#%#1#%#0#%#0#%#0#%#275#%#3#%#69#%#65#%#82#%#56#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5152627.52929053#%#-8096567.12801993#%#3\r\n15710#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15710#%#True#%#41.944215#%#-72.732696#%#06026#%#HOMEBOUND#%#33 TURKEY HILL ROAD#%#EAST GRANBY#%#CT#%#6026#%#674#%#4#%#3#%#4#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5152627.52929053#%#-8096567.12801993#%#3\r\n15923#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15923#%#True#%#42.0027#%#-72.942#%#06027#%#HOMEBOUND#%#30 SOUTH ROAD#%#EAST HARTLAND#%#CT#%#6027#%#9710#%#4#%#3#%#4#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5161383.89953631#%#-8119866.29744296#%#3\r\n15922#%#Hartford, CT#%#New England#%#Unassigned#%#Unassigned#%#Account#%#15922#%#True#%#42.0027#%#-72.942#%#06027#%#HARTLAND ELEMENTARY SCHOOL#%#30 SOUTH ROAD#%#EAST HARTLAND#%#CT#%#6027#%#9710#%#1#%#1#%#1#%#0#%#0#%#0#%#2#%#0#%#25#%#17#%#26#%#29#%#37#%#36#%#38#%#35#%#40#%#0#%#0#%#0#%#0#%#Hartford, CT#%#New England#%#5161383.89953631#%#-8119866.29744296#%#3'''
//split by carriage return and new line
def data = str.split('\r\n')
//split by field to get the just column names from header row
def headers = data[0].split('#%#')
//Create map with just header keys, so that it can be used while storing the data
def headerMap = [:]
headers.each { header ->
    headerMap[header] = ''
}
/**
 * Closure allows you to query the required data
 * Need to pass all the records and row (human readable starting with 1) and header key/ field name
 * so the information is displaced as well as returns matched value
 */
def getData = { recordList, row, field ->
    println "Requested data : \n Row : ${row} \n Column : ${field} \n Column Value : ${recordList[row-1].get(field)}"
    recordList[row-1].get(field)
}
// This is the variable which holds all the records
// And each record will be in the form of a map so that it can be queried easily based on the field
def records = []
for (i=1;i<data.size();i++) {
    def fieldData = data[i].split('#%#')
    def record = headerMap.clone()
    if (fieldData.size() == headerMap.size()) {
        def keys = headerMap.keySet()
        for (j=0;j<keys.size();j++) {
            record[keys[j]] = fieldData[j]
        }
        println record
        //Add the record to records
        records << record
    }
}
//Some meta data information
println "Headers : ${headers}"
println "No of headers : ${headers.size()}"
println "No of rows : ${records.size()}"
/**
 * Here is how you can query the specific data
 * and since it returns value, you can also assign it variable as well
 */
getData(records, 1, 'Territory')
getData(records, 7, 'Account Id')
​

You can quickly also verify the output by using the below steps:
Click link => Edit in Console => Execute Script https://groovyconsole.appspot.com/script/5076918839803904

How to query different data? Already provided the script with most of the lines with comments appropriately. You can just use getData() to retrieve any data form it, just pass the records , row number(human readable count starting with 1) and the field name.

Note that I have used println, you may replace it with log.info if needed to use in soapui.

这篇关于在SoapUi中,如何从json响应中提取特定于列的数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆