假设我有以下GeoJSON文件:
{
"type": "FeatureCollection",
"name": "geojson",
"features": [
{
"type": "Feature",
"properties": {
"id": 1,
"value1": 4.7557783e-06,
"value2": 0
},
"geometry": null
},
{
"type": "Feature",
"properties": {
"id": 1,
"value1": 1.4931199e-05,
"value2": 5
},
"geometry": null
}
]
}
我知道用cat file.geojson | jq '.features[].properties'
行我可以得到以下结果:
{
"id": 1,
"value1": 4.7557783e-06,
"value2": 0
}
{
"id": 1,
"value1": 1.4931199e-05,
"value2": 5
}
然而,我希望在如下数组中得到这个结果:
[
{
"id": 1,
"value1": 4.7557783e-06,
"value2": 0
},
{
"id": 1,
"value1": 1.4931199e-05,
"value2": 5
}
]
如何将括号[]
和适当的逗号,
与jq
相加以形成最后一个平面JSON文件?
您可以将整个过滤器包装到括号中
jq '[.features[].properties]' file.geojson
演示
或者利用.features
已经是一个数组而map
只是它的内容这一事实。
jq '.features | map(.properties)' file.geojson
演示
两个输出
[
{
"id": 1,
"value1": 4.7557783e-06,
"value2": 0
},
{
"id": 1,
"value1": 1.4931199e-05,
"value2": 5
}
]