在包含具有给定字符串的数组的数组中查找元素:JsonPath Java
Finding an element within an array that contains an array with a given string: JsonPath Java
我是 JsonPath 新手,正在使用 Java 端口 https://github.com/json-path/JsonPath。
我有一个 JSON 对象,看起来像这样(实际上有很多条目,但为了简洁起见,我删除了额外的条目)。
{
"entry": [{
"fullUrl": "urn:uuid:42627ef0-ea02-4323-8059-c8dfb6125314",
"resource": {
"resourceType": "Patient",
"id": "42627ef0-ea02-4323-8059-c8dfb6125314",
"meta": {
"profile": [
"http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-cancer-patient",
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
]
},
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Generated by <a href=\"https://github.com/synthetichealth/synthea\">Synthea</a>.Version identifier: v2.5.0-340-gabc9fc4a\n . Person seed: -7528621318134299240 Population seed: 1586172373839</div>"
}
}
}]
}
我正在尝试在配置文件数组中查找包含特定 URI 的条目。我似乎无法获得使它正常工作的正确语法,此时我有点难过。
这是我到目前为止尝试过的方法,但没有成功。
$..entry[?(@.resource.meta[?(@.profile.indexOf('http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient') > -1)])]
非常感谢任何指点!
Jayway Jsonpath 实现不支持 indexOf
。请改用 in
。
$..entry[?('http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient' in @.resource.meta.profile)]
请参考Filter Operators Jayway jsonpath
支持
我是 JsonPath 新手,正在使用 Java 端口 https://github.com/json-path/JsonPath。
我有一个 JSON 对象,看起来像这样(实际上有很多条目,但为了简洁起见,我删除了额外的条目)。
{
"entry": [{
"fullUrl": "urn:uuid:42627ef0-ea02-4323-8059-c8dfb6125314",
"resource": {
"resourceType": "Patient",
"id": "42627ef0-ea02-4323-8059-c8dfb6125314",
"meta": {
"profile": [
"http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-cancer-patient",
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
]
},
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Generated by <a href=\"https://github.com/synthetichealth/synthea\">Synthea</a>.Version identifier: v2.5.0-340-gabc9fc4a\n . Person seed: -7528621318134299240 Population seed: 1586172373839</div>"
}
}
}]
}
我正在尝试在配置文件数组中查找包含特定 URI 的条目。我似乎无法获得使它正常工作的正确语法,此时我有点难过。
这是我到目前为止尝试过的方法,但没有成功。
$..entry[?(@.resource.meta[?(@.profile.indexOf('http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient') > -1)])]
非常感谢任何指点!
Jayway Jsonpath 实现不支持 indexOf
。请改用 in
。
$..entry[?('http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient' in @.resource.meta.profile)]
请参考Filter Operators Jayway jsonpath
支持