在 java 中使用 jsonpath 过滤数组内部和数组

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

我正在尝试获取一个位于数组下的数组和一个带有过滤器但无法实现我想要的对象的值。我正在使用 github.com/json-path/JsonPath。

我需要获取值 case_identifier__c where source__c in ['nci__c'].

{
  "case_version__v": {
    "case_number__vr": {
      "id": "V2A000000001002",
      "none2b_references__cr": [
        {
          "case_number__c": "V2A000000001002",
          "case_identifier__c": "THIS-IS-MINE",
          "id": "V8C000000001001",
          "source__c": [
            "nci__c"
          ]
        }
      ]
    }
  }
}

我在 JSONPATH 下面尝试过,但它返回一个空值而不是 [THIS-IS-MINE]

$..case_version__v.case_number__vr.none2b_references__cr[?(@.source__c in ['nci__c'])].case_identifier__c
java jsonpath
1个回答
0
投票

当您使用

in
过滤器运算符时,只有右侧表达式应该包含一个数组,而左侧应该是单个值。

使用

in
过滤器运算符

$..case_version__v.case_number__vr.none2b_references__cr[?('nci__c' in @.source__c)].case_identifier__c
© www.soinside.com 2019 - 2024. All rights reserved.