Json 从jmeter中的http响应提取数据

Json 从jmeter中的http响应提取数据,json,groovy,jmeter,Json,Groovy,Jmeter,这是我在jmeter中运行http请求后获得的json数据 { “条目”:[ { “搜索”:{ “模式”:“匹配” }, “资源”:{ “元”:{ “最新更新”:“2018-10-29T08:37:53.351+00:00”, “版本ID”:“aa1e1cc3-8018-408e-a70a-4885004720fa”, “标签”:[ { “系统”:“http:\/\/hl7.org\/fhir\/v3\/ObservationValue”, “代码”:“子集” } ] }, “姓名”:[ {

这是我在jmeter中运行http请求后获得的json数据

{
“条目”:[
{
“搜索”:{
“模式”:“匹配”
},
“资源”:{
“元”:{
“最新更新”:“2018-10-29T08:37:53.351+00:00”,
“版本ID”:“aa1e1cc3-8018-408e-a70a-4885004720fa”,
“标签”:[
{
“系统”:“http:\/\/hl7.org\/fhir\/v3\/ObservationValue”,
“代码”:“子集”
}
]
},
“姓名”:[
{
“给定”:[
“Aaron697”
],
“使用”:“官方”,
“前缀”:[
“先生。”
],
“家庭”:“Abernathy524”
}
],
“id”:“176b8fef-5a62-48da-b82e-4722843d9f2d”,
“资源类型”:“患者”
},
“完整URL:“http:\/\/localhost:4080\/Patient\/176b8fef-5a62-48da-b82e-4722843d9f2d”
},
{
“搜索”:{
“模式”:“匹配”
},
“资源”:{
“元”:{
“最新更新”:“2018-10-29T08:09:33.67+00:00”,
“版本ID”:“c852310e-8894-45dd-a87c-9e449950caf4”,
“标签”:[
{
“系统”:“http:\/\/hl7.org\/fhir\/v3\/ObservationValue”,
“代码”:“子集”
}
]
},
“姓名”:[
{
“给定”:[
“Aaron697”
],
“使用”:“官方”,
“前缀”:[
“先生。”
],
“家庭”:“Abernathy524”
}
],
“id”:“8BB3BB7-4e5b-48bd-82af-8463c4060de3”,
“资源类型”:“患者”
},
“完整URL:“http:\/\/localhost:4080\/Patient\/8BB3BB7-4e5b-48bd-82af-8463c4060de3”
}
]
}
  • 添加为返回JSON以上的请求的子级
  • 将以下代码放入脚本区域:

    import com.jayway.jsonpath.JsonPath
    
    def idCSV = new File('id.csv')
    def nameGiven = new File('name_given.csv')
    def nameFamily = new File('name_family.csv')
    def namePrefix = new File('name_prefix.csv')
    def newLine = System.getProperty('line.separator')
    
    def response = prev.getResponseDataAsString()
    
    def ids = JsonPath.read(response, '$..id')
    
    ids.each { id ->
        idCSV << id << newLine
    }
    
    def names = JsonPath.read(response, '$..name')
    names.each { name ->
        name.each { subName ->
            subName.get('given').each { givenName ->
                nameGiven << givenName << newLine
            }
            subName.get('prefix').each { prefix ->
                namePrefix << prefix << newLine
            }
    
            nameFamily << subName.get('family') << newLine
        }
    
    }
    
    import com.jayway.jsonpath.jsonpath
    def idCSV=新文件('id.csv')
    def nameGiven=新文件('name\u given.csv'))
    def nameFamily=新文件('name_family.csv'))
    def namePrefix=新文件('name_prefix.csv'))
    def newLine=System.getProperty('line.separator')
    def response=prev.getResponseDataAsString()
    def id=JsonPath.read(响应“$…id”)
    id.each{id->
    idCSV
    subName.get('given')。每个{givenName->
    
    nameGiven谢谢先生,这个解决方案非常有效,谢谢您分享参考。先生,如何使用索引访问ID。例如,如何在不使用每个循环的情况下获取ID[0]和ID[1]的值