如何使用Jsonpath解析?

how to parse using Jsonpath?

我想知道 'pageName' 的值,其中 'createdTs' 的值是 JSON 中的 '333',如下所示,我应该如何使用 Jsonpath?

[
   {
      "Test1":{
         "pageName":"Apple"
        },
         "Test1-1":{
            "createdTs":"333"
        }
    },
   {
      "Test2":{
         "pageName":"Tomato"
        },
         "Test2-1":{
            "createdTs":"555"
        }
    }
]

.Test1-1[?(@.createdTs == 333)] 看起来像这样:

[
   {
      "createdTs" : "333"
   }
]

我要的解析结果是这样的

[
   {
      "Test1":{
         "pageName":"Apple"
        },
         "Test1-1":{
            "createdTs":"333"
        }
    }
]

如果您使用 Jayway JSONPath Java DSL 来阅读 JSON 文档,那么您可以使用这些 jsonpath 表达式。

$[?(@.['Test1-1'].createdTs == 333)]

OR 在过滤器运算符中使用

$[?(333 in @..createdTs)]

OR 使用包含过滤器运算符

$[?(@..createdTs contains 333)]