我在尝试仅获取数组的前 3 个元素时遇到一些问题:
json 是这样的:
{
"resourceType":"Practitioner",
"id":"328001",
"meta":{
"versionId":"1",
"lastUpdated":"2021-11-08T12:47:51.239+01:00",
"source":"#BUkX5uagwf3PcHzd"
},
"identifier":[
{
"use":"official",
"system":"urn:oid:1.3.6.1.4.1.19126.3",
"value":"00396185X"
},
{
"use":"official",
"system":"urn:oid:2.16.724.4.9.10.2",
"value":"0831515"
},
{
"use":"official",
"system":"urn:oid:2.16.724.4.9.10.2",
"value":"0831515"
},
{
"use":"official",
"system":"urn:oid:2.16.724.4.9.10.2",
"value":"0831515"
}
],
"active":true,
"name":[
{
"use":"official",
"text":"JULIAN RODRIGUEZ LARREA",
"family":"RODRIGUEZ",
"_family":{
"extension":[
{
"url":"http://hl7.org/fhir/StructureDefinition/humanname-mothers-family",
"valueString":"LARREA"
}
]
},
"given":[
"JULIAN"
]
}
],
"qualification":[
{
"code":{
"coding":[
{
"system":"urn:oid:2.16.840.1.113883.6.96",
"code":"62247001"
}
]
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
有什么办法只获取前 3 个元素 od 吗.identifier?
jq -r '(.identifier[] | .system, .value)'
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Ini*_*ian 11
如果您只想打印前 3 个结果中的特定字段,请使用切片运算符。参见jqplay演示
.identifier[:3] | map({system, value})
Run Code Online (Sandbox Code Playgroud)