JSON路径中的相似表达式

问题描述 投票:0回答:1

我有一个JOSN,类似这样的东西

{
    "Room" :{
    "Book" : 
     {
        "name" : "abc"
     },

    "Book1": 
     {
       "name" : "xyz"
     },

    "Book3": 
    {
      "name" : "abc123"
    },

    "Tv" : 
    {
      "name" : "zyc"
    },

    "audio": 
    {
      "name" :"sound ++"
    }
    }
}

从这个JSON中,我想用JSONPATH过滤掉所有的图书元素("book", "book1", "book2")。

我知道在JSONPATH中,我们没有任何 "Like "类型的语法,但我们可以通过使用regex来实现。

我试着用这个

$.Room[?(/^.*book.*$/i.test(@.Room))]

但是这个表达式没有从JSON中返回任何内容。

有谁能帮我解决这个问题吗?

json jsonpath jsonparser json-patch
1个回答
0
投票

可能是 这个 链接将对你有所帮助。查看表格$..book[?(@.author =~ /.*Tolkien/i)]. 这个表达式带来了作者名以Tolkien结尾的所有书籍(不区分大小写)--> 为你修改它。

© www.soinside.com 2019 - 2024. All rights reserved.