soapUI 中的匹配数组 JSONPath RegEx 匹配断言
Matching arrays in soapUI JSONPath RegEx Match assertions
我正尝试在 SoapUI 上为以下 Json 响应进行 JSONPath RegEx 匹配:
{
"quantidadeItens": 5,
"registros": [
{
"identificador": 1,
"descricao": "Viagem à Disney"
},
{
"identificador": 2,
"descricao": "Carro"
},
{
"identificador": 3,
"descricao": "Smartphone novo"
},
{
"identificador": 4,
"descricao": "Casa nova"
},
{
"identificador": 5,
"descricao": "Apartamento Novo"
}
]
}
在附加图片上我们可以看到 Json路径是正确的,但是 SoapUI 没有找到匹配项。
我猜 SoapUI 不支持 [*],但我在文档中没有找到任何相关信息。
JSON路径表达式的预期输出类似于:
[
1,
2,
3,
4,
5
]
这与您的正则表达式不匹配,但在任何情况下 soapUI 都会生成 [1, 2, 3, 4, 5]
,soapUI documentation 表示 not a JSON 数组,但只是用方括号括起来的值列表。
因此,像 \[(\s?[0-9]+,?)*\s?\]
这样的正则表达式将匹配此输出:
我正尝试在 SoapUI 上为以下 Json 响应进行 JSONPath RegEx 匹配:
{
"quantidadeItens": 5,
"registros": [
{
"identificador": 1,
"descricao": "Viagem à Disney"
},
{
"identificador": 2,
"descricao": "Carro"
},
{
"identificador": 3,
"descricao": "Smartphone novo"
},
{
"identificador": 4,
"descricao": "Casa nova"
},
{
"identificador": 5,
"descricao": "Apartamento Novo"
}
]
}
在附加图片上我们可以看到 Json路径是正确的,但是 SoapUI 没有找到匹配项。
我猜 SoapUI 不支持 [*],但我在文档中没有找到任何相关信息。
JSON路径表达式的预期输出类似于:
[
1,
2,
3,
4,
5
]
这与您的正则表达式不匹配,但在任何情况下 soapUI 都会生成 [1, 2, 3, 4, 5]
,soapUI documentation 表示 not a JSON 数组,但只是用方括号括起来的值列表。
因此,像 \[(\s?[0-9]+,?)*\s?\]
这样的正则表达式将匹配此输出: