如何从同一个 json 节点中提取多个(随机)值
How to extract multiple (random) values from the same json node
我正在尝试从我收到的 JSON 响应中捕获多个值,但似乎无法从同一个随机节点中获取它们。
我尝试使用“;”将多个变量放在同一个提取器中这可行,但它随机通过节点并且不会从同一个节点中提取我需要的值
来源类似于
[
{
"Disabled": false,
"Group": null,
"Selected": false,
"Text": "Text1",
"Value": "Value1"
},
{
"Disabled": false,
"Group": null,
"Selected": false,
"Text": "Text2",
"Value": "Value2"
}
]
并且我想从我可以使用的数组或 2 个变量中的任何 2 个节点(随机匹配)中获取文本和值。
到目前为止,它似乎从一个节点获取价值,从另一个节点获取文本(在较长的来源中)
所以我想要的结果是 text1 和 value1 或 text2 和 value2,而不是两者的混合..
- 将 JSR223 PostProcessor 添加为 returns 上述 JSON
请求的子项
将以下代码放入"Script"区域:
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)
就是这样,您应该能够在需要时将 Text/Value 对称为 ${strBrandID}
和 ${strBrandName}
更多信息:
我正在尝试从我收到的 JSON 响应中捕获多个值,但似乎无法从同一个随机节点中获取它们。
我尝试使用“;”将多个变量放在同一个提取器中这可行,但它随机通过节点并且不会从同一个节点中提取我需要的值
来源类似于
[
{
"Disabled": false,
"Group": null,
"Selected": false,
"Text": "Text1",
"Value": "Value1"
},
{
"Disabled": false,
"Group": null,
"Selected": false,
"Text": "Text2",
"Value": "Value2"
}
]
并且我想从我可以使用的数组或 2 个变量中的任何 2 个节点(随机匹配)中获取文本和值。
到目前为止,它似乎从一个节点获取价值,从另一个节点获取文本(在较长的来源中)
所以我想要的结果是 text1 和 value1 或 text2 和 value2,而不是两者的混合..
- 将 JSR223 PostProcessor 添加为 returns 上述 JSON 请求的子项
将以下代码放入"Script"区域:
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)
就是这样,您应该能够在需要时将 Text/Value 对称为
${strBrandID}
和${strBrandName}
更多信息: