jq:选择空而不是空
jq: pick null instead of empty
我创建了这个过滤器表达式:
def pick_extension($url):
.extension[] | select( .url == $url);
[
( pick_extension( "http://hl7.org/fhir/StructureDefinition/patient-nationality" ) | .url, ( .extension[0] | .url, ( .valueCodeableConcept.coding[0] | .system, .code ) ) )
]
问题是当 pick_extension(url)
没有选择任何对象时,它 returns 是空的。
然后其他管道表达式也为空。
目前,我得到的是空数组:
[]
[]
[]
我需要的期望输出是:
[null, null, null, null]
[null, null, null, null]
[null, null, null, null]
...
目前,我正在 jqplay 中使用它。
这里有一些json提取的json输入对象:
{
"resourceType":"Patient",
"id":"14426955",
"meta":{
"versionId":"1",
"lastUpdated":"2021-12-01T14:24:11.387+01:00",
"source":"#XbZyfGxZj4fZygTv"
},
"extension":[
{
"url":"http://hl7.org/fhir/StructureDefinition/patient-nationality",
"extension":[
{
"url":"code",
"valueCodeableConcept":{
"coding":[
{
"system":"urn:iso:std:iso:3166",
"code":"724"
}
]
}
}
]
},
{
"url":"http://catsalut.gencat.cat/fhir/StructureDefinition/patient-status",
"valueCodeableConcept":{
"coding":[
{
"system":"http://catsalut.gencat.cat/fhir/EstatRegistre",
"code":"alta"
}
]
}
}
]
}
// {"url":null}
适合我:
def pick_extension($url): .extension[] | select( .url == $url); [ (( pick_extension( "http://catsalut.gencat.cat/fhir/StructureDefinition/patient-occupation" ) // {"url":null}) | .url , ( .valueCodeableConcept.coding[0] | .system, .code) ) ]
我创建了这个过滤器表达式:
def pick_extension($url):
.extension[] | select( .url == $url);
[
( pick_extension( "http://hl7.org/fhir/StructureDefinition/patient-nationality" ) | .url, ( .extension[0] | .url, ( .valueCodeableConcept.coding[0] | .system, .code ) ) )
]
问题是当 pick_extension(url)
没有选择任何对象时,它 returns 是空的。
然后其他管道表达式也为空。
目前,我得到的是空数组:
[]
[]
[]
我需要的期望输出是:
[null, null, null, null]
[null, null, null, null]
[null, null, null, null]
...
目前,我正在 jqplay 中使用它。
这里有一些json提取的json输入对象:
{
"resourceType":"Patient",
"id":"14426955",
"meta":{
"versionId":"1",
"lastUpdated":"2021-12-01T14:24:11.387+01:00",
"source":"#XbZyfGxZj4fZygTv"
},
"extension":[
{
"url":"http://hl7.org/fhir/StructureDefinition/patient-nationality",
"extension":[
{
"url":"code",
"valueCodeableConcept":{
"coding":[
{
"system":"urn:iso:std:iso:3166",
"code":"724"
}
]
}
}
]
},
{
"url":"http://catsalut.gencat.cat/fhir/StructureDefinition/patient-status",
"valueCodeableConcept":{
"coding":[
{
"system":"http://catsalut.gencat.cat/fhir/EstatRegistre",
"code":"alta"
}
]
}
}
]
}
// {"url":null}
适合我:
def pick_extension($url): .extension[] | select( .url == $url); [ (( pick_extension( "http://catsalut.gencat.cat/fhir/StructureDefinition/patient-occupation" ) // {"url":null}) | .url , ( .valueCodeableConcept.coding[0] | .system, .code) ) ]