【问题标题】:JPath for partial query match部分查询匹配的 JPath
【发布时间】:2020-12-09 07:55:05
【问题描述】:

我正在尝试学习 json jpath 查询。我已经成功地能够根据精确搜索返回数据。

例如在现场:https://jsonpath.com/我可以根据电话号码成功检索电话类型:

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”。我该怎么做?

【问题讨论】:

标签: json jmeter jsonpath


【解决方案1】:

您可以使用=~ 匹配filter operator,它允许提供regular expression 而不是严格的值,因此如果您修改查询,例如:

$.phoneNumbers[?(@.number=~/.*0123.*/)].type

你会得到这两种类型的结果:

更多信息:JMeter's JSON Path Extractor Plugin - Advanced Usage Scenarios

【讨论】:

  • 当德米特里,你有什么不知道的吗?! :D 谢谢
猜你喜欢
  • 2017-03-02
  • 2016-08-12
  • 2020-11-09
  • 2022-09-23
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 2017-07-19
  • 2012-08-01
相关资源
最近更新 更多