【发布时间】:2020-12-16 19:42:50
【问题描述】:
我正在尝试解析 https://api.weather.gov/gridpoints/PHI/47,91/forecast/hourly,并取得了一定的成功。
{
"number": 1,
"name": "",
"startTime": "2020-12-16T13:00:00-05:00",
"endTime": "2020-12-16T14:00:00-05:00",
"isDaytime": true,
"temperature": 30,
"temperatureUnit": "F",
"temperatureTrend": null,
"windSpeed": "15 mph",
"windDirection": "NE",
"icon": "https://api.weather.gov/icons/land/day/snow,40?size=small",
"shortForecast": "Chance Light Snow",
"detailedForecast": ""
}
我从 jq '.properties.periods[0]' 开始获取第一个元素,使用 jq '.properties.periods[0].shortForecast' 并发现 jq '.properties.periods[0,1,2,3]' 获取了数组中的前 4 个元素。
但是,如果我尝试 jq '.properties.periods[:3]' 会遇到语法错误
jq: 错误:语法错误,意外'['
我认为这是 0-3 的简写。
此外,我只想要(相同的、重复的)每个元素的特定 K/V 对(例如:shortForecast、temperature 等),但我无法弄清楚如何组合它全部归为一个jq 语句。
那么如何从数组的前 X 个元素中获取特定值呢? (我真的不需要键,只需要值。)
奖励:将每个元素的所有值都放在一行中会很棒。
示例:
"2020-12-16T14:00:00-05:00" 30 "Chance Light Snow"
"2020-12-16T15:00:00-05:00" 30 "Snow"
"2020-12-16T16:00:00-05:00" 29 "Heavy Snow"
【问题讨论】:
-
无法重现 JQ 1.6 的语法错误。
-
我正在运行:jq-1.5-1-a5b5cbe
-
哦,我知道我的语法错误在哪里:.properties.periods.[:3] 中句点和 [:3] 之间的额外句点
标签: json jq key-value weather-api