部分查询匹配的 JPath
JPath for partial query match
我正在尝试学习 json jpath 查询。我已经成功地 return 基于精确搜索的数据。
例如在站点:https://jsonpath.com/ 我可以根据 phone 号码成功检索 phone 的类型:
JSON
{
"firstName": "John",
"lastName" : "doe",
"age" : 26,
"address" : {
"streetAddress": "naist street",
"city" : "Nara",
"postalCode" : "630-0192"
},
"phoneNumbers": [
{
"type" : "iPhone",
"number": "0123-4567-8888"
},
{
"type" : "home",
"number": "0123-4567-8910"
}
]
}
查询
$.[?(@.number== '0123-4567-8888')].type
但是我找不到任何示例来说明如何匹配部分搜索结果。我正在尝试编写一个查询,其中我只提供“0123”,因此返回“home”和“iPhone”returned as results.How 我可以这样做吗?
您可以使用 =~
匹配 filter operator which allows providing a regular expression 而不是严格值,因此如果您将查询修改为:
$.phoneNumbers[?(@.number=~/.*0123.*/)].type
您将得到两种类型的结果:
更多信息:JMeter's JSON Path Extractor Plugin - Advanced Usage Scenarios
我正在尝试学习 json jpath 查询。我已经成功地 return 基于精确搜索的数据。
例如在站点:https://jsonpath.com/ 我可以根据 phone 号码成功检索 phone 的类型:
JSON
{
"firstName": "John",
"lastName" : "doe",
"age" : 26,
"address" : {
"streetAddress": "naist street",
"city" : "Nara",
"postalCode" : "630-0192"
},
"phoneNumbers": [
{
"type" : "iPhone",
"number": "0123-4567-8888"
},
{
"type" : "home",
"number": "0123-4567-8910"
}
]
}
查询
$.[?(@.number== '0123-4567-8888')].type
但是我找不到任何示例来说明如何匹配部分搜索结果。我正在尝试编写一个查询,其中我只提供“0123”,因此返回“home”和“iPhone”returned as results.How 我可以这样做吗?
您可以使用 =~
匹配 filter operator which allows providing a regular expression 而不是严格值,因此如果您将查询修改为:
$.phoneNumbers[?(@.number=~/.*0123.*/)].type
您将得到两种类型的结果:
更多信息:JMeter's JSON Path Extractor Plugin - Advanced Usage Scenarios