使用 JMESPath 进行不区分大小写的搜索

HKT*_*Lee 17 case-sensitive lowercase jmespath

问题很简单。如何使用 JMESPath 进行不区分大小写的搜索?

foo假设要在此 JSON 中搜索:

[
  "foo",
  "foobar",
  "barfoo",
  "bar",
  "baz",
  "barbaz",
  "FOO"
]
Run Code Online (Sandbox Code Playgroud)

这是区分大小写的搜索查询:

[?contains(@, 'foo')]
Run Code Online (Sandbox Code Playgroud)

它会返回,["foo", "foobar", "barfoo"]但会错过"FOO"

Gan*_*esh 3

[?contains(lower(@), lower('string_you_want_to_search')]
Run Code Online (Sandbox Code Playgroud)

我们可以将两个搜索字符串转换为小写或大写以获得不区分大小写的搜索。

https://jmespath.site/#preview最新预览版已支持它。

JEP 讨论https://github.com/jmespath-community/jmespath.spec/discussions/21