gpt4 book ai didi

java - 通过 JsonPath 中的正则表达式过滤值

转载 作者:行者123 更新时间:2023-12-02 11:16:32 28 4
gpt4 key购买 nike

我试图找到一种使用 Jayway 的 JsonPath 通过正则表达式过滤值的方法,到目前为止我或多或少可以做我想做的事情。

我正在尝试按不以“foo”开头的值过滤结果。据我的正则表达式知识,它应该由 '$..book[?(@.author =~/^[^foo]/)].author' 以及给定的 JSON 来完成

{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
},
"expensive": 10
}

但它不返回任何值,尽管没有一个值以“foo”开头。我已经通过使用在线工具尝试过:https://jsonpath.herokuapp.com/

此外,我无法使用任何用 Java 或类似语言编写的 Java 代码或过滤器来解决此问题。正则表达式或多或少是我唯一的选择。

有人知道如何解决这个问题吗?

干杯,

最佳答案

要按不以“foo”开头的值过滤结果,请尝试:$..book[?(@.author =~/^(?!foo).*/i)]

正则表达式:/^(?!foo).*/i) 仅当不以 foo 开头时才返回匹配项(使用负向前瞻)

关于java - 通过 JsonPath 中的正则表达式过滤值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50235723/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com