1

我正在尝试从我得到的 JSON 响应中捕获多个值,但似乎无法从同一个随机节点中获取它们。

我尝试使用“;”将多个变量放在同一个提取器中 这可行,但它随机通过节点并且不会从同一个节点中提取我需要的值

在此处输入图像描述

来源将类似于

[
	{
		"Disabled": false,
		"Group": null,
		"Selected": false,
		"Text": "Text1",
		"Value": "Value1"
	},
	{
		"Disabled": false,
		"Group": null,
		"Selected": false,
		"Text": "Text2",
		"Value": "Value2"
	}
]

我想从 2 个节点(随机匹配)中的任何一个节点中获取 Text 和 Value ,可以是我可以使用的数组,也可以是 2 个变量。

到目前为止,它似乎从一个节点获取价值,从另一个节点获取文本(在更长的来源中)

所以我想要的结果是 text1 和 value1 或 text2 和 value2,而不是两者的混合......

4

1 回答 1

3
  1. 添加JSR223 PostProcessor作为返回上述 JSON 的请求的子项
  2. 将以下代码放入“脚本”区域:

    def json = new groovy.json.JsonSlurper().parse(prev.getResponseData())
    def randomEntry = json.get(org.apache.commons.lang3.RandomUtils.nextInt(0, json.size()))
    vars.put('strBrandID', randomEntry.Value)
    vars.put('strBrandName', randomEntry.Text)
    
  3. ${strBrandID}就是这样,您应该能够在需要时引用文本/值${strBrandName}

更多信息:

于 2018-12-20T13:36:50.080 回答