【发布时间】:2021-06-02 09:39:46
【问题描述】:
我有一个 json 文件(给定日期的西班牙电价),我想以纯文本格式提取给定 geo_name 的 value:“Península”
文件如下:
{
"indicator": {
"name": "Término de facturación de energía activa del PVPC 2.0TD",
"short_name": "PVPC T. 2.0TD",
"id": 1001,
"composited": false,
"step_type": "linear",
"disaggregated": true,
"magnitud": [
{
"name": "Precio",
"id": 23
}
],
"tiempo": [
{
"name": "Hora",
"id": 4
}
],
"geos": [
{
"geo_id": 8741,
"geo_name": "Península"
},
{
"geo_id": 8742,
"geo_name": "Canarias"
},
{
"geo_id": 8743,
"geo_name": "Baleares"
},
{
"geo_id": 8744,
"geo_name": "Ceuta"
},
{
"geo_id": 8745,
"geo_name": "Melilla"
}
],
"values_updated_at": "2021-06-01T20:18:22.000+02:00",
"values": [
{
"value": 116.2,
"datetime": "2021-06-02T00:00:00.000+02:00",
"datetime_utc": "2021-06-01T22:00:00Z",
"tz_time": "2021-06-01T22:00:00.000Z",
"geo_id": 8741,
"geo_name": "Península"
},
{
"value": 116.2,
"datetime": "2021-06-02T00:00:00.000+02:00",
"datetime_utc": "2021-06-01T22:00:00Z",
"tz_time": "2021-06-01T22:00:00.000Z",
"geo_id": 8742,
"geo_name": "Canarias"
},
{
"value": 116.2,
"datetime": "2021-06-02T00:00:00.000+02:00",
"datetime_utc": "2021-06-01T22:00:00Z",
"tz_time": "2021-06-01T22:00:00.000Z",
"geo_id": 8743,
"geo_name": "Baleares"
},
{
"value": 116.2,
"datetime": "2021-06-02T00:00:00.000+02:00",
"datetime_utc": "2021-06-01T22:00:00Z",
"tz_time": "2021-06-01T22:00:00.000Z",
"geo_id": 8744,
"geo_name": "Ceuta"
},
{
"value": 116.2,
"datetime": "2021-06-02T00:00:00.000+02:00",
"datetime_utc": "2021-06-01T22:00:00Z",
"tz_time": "2021-06-01T22:00:00.000Z",
"geo_id": 8745,
"geo_name": "Melilla"
},
{
"value": 114.37,
"datetime": "2021-06-02T01:00:00.000+02:00",
"datetime_utc": "2021-06-01T23:00:00Z",
"tz_time": "2021-06-01T23:00:00.000Z",
"geo_id": 8741,
"geo_name": "Península"
},
{
"value": 114.37,
"datetime": "2021-06-02T01:00:00.000+02:00",
"datetime_utc": "2021-06-01T23:00:00Z",
"tz_time": "2021-06-01T23:00:00.000Z",
"geo_id": 8742,
"geo_name": "Canarias"
},
{
"value": 114.37,
"datetime": "2021-06-02T01:00:00.000+02:00",
"datetime_utc": "2021-06-01T23:00:00Z",
"tz_time": "2021-06-01T23:00:00.000Z",
"geo_id": 8743,
"geo_name": "Baleares"
},
{
"value": 114.37,
"datetime": "2021-06-02T01:00:00.000+02:00",
"datetime_utc": "2021-06-01T23:00:00Z",
"tz_time": "2021-06-01T23:00:00.000Z",
"geo_id": 8744,
"geo_name": "Ceuta"
},
{
"value": 114.37,
"datetime": "2021-06-02T01:00:00.000+02:00",
"datetime_utc": "2021-06-01T23:00:00Z",
"tz_time": "2021-06-01T23:00:00.000Z",
"geo_id": 8745,
"geo_name": "Melilla"
}
]
}
}
我的“最佳猜测”是
$ jq '.indicator.values[] | .value | select(.indicator.values[] | .geo_name=="Península")' myfile.json
但我得到了一个
jq: error: Cannot index number with string
我可以改变什么以获得正确的结果?
【问题讨论】: