Как выражение в JSON Path - PullRequest
0 голосов
/ 06 мая 2020

У меня есть JOSN что-то вроде этого

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

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

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

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

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

Из этого JSON Я хочу отфильтровать все элементы книги («книга», «книга1», «книга2») с помощью JSONPATH

Как я узнал в JSONPATH, у нас нет синтаксиса типа «Like», но мы можем сделать это с помощью регулярного выражения.

Я пробовал с этим

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

Но это выражение ничего не возвращает из JSON.

Кто-нибудь может мне помочь в этом ...

1 Ответ

0 голосов
/ 31 мая 2020

Может быть, эта ссылка будет вам полезна. Проверить таблицу $..book[?(@.author =~ /.*Tolkien/i)]. Это выражение выводит Все книги, имя автора которых заканчивается на Толкин (без учета регистра) -> Измените его для своего

...