JSON 使用 jq 解析输出
JSON parsing output using jq
我正在解析以下 curl 的输出,如下所示 -
curl 'http://www.bom.gov.au/fwo/IDN60801/IDN60801.95765.json' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36' | jq '.[][][] | select(.apparent_t>5)
如何在输出中只保留某些字段。预期输出为
[
{
"sort_order":147,
"lat":-33.8,
"lon":151.1,
"apparent_t":10.9
},
{
"sort_order":148,
"lat":-23.8,
"lon":128.1,
"apparent_t":7
},
{
"sort_order":236,
"lat":-33.34,
"lon":151.74,
"apparent_t":21.9
}
]
基本上,我只需要过滤掉某些字段并为其打印键值。我无法为此制定后续步骤。非常感谢您的帮助。
如果您知道要提取的密钥,只需...提取这些密钥即可。
curl 'http://www.bom.gov.au/fwo/IDN60801/IDN60801.95765.json' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36' |
jq '[.[][][] | select(.apparent_t>5) | {"sort_order": .sort_order, "lat": .lat, "lon": .lon, "apparent_t": .apparent_t}]'
这会输出一个字典列表;如果您实际上一次只想要输出中一系列 JSON 片段中的字典,则取出外部 [...]
(可能与 -c
结合,然后每行得到一个字典)。
我正在解析以下 curl 的输出,如下所示 -
curl 'http://www.bom.gov.au/fwo/IDN60801/IDN60801.95765.json' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36' | jq '.[][][] | select(.apparent_t>5)
如何在输出中只保留某些字段。预期输出为
[
{
"sort_order":147,
"lat":-33.8,
"lon":151.1,
"apparent_t":10.9
},
{
"sort_order":148,
"lat":-23.8,
"lon":128.1,
"apparent_t":7
},
{
"sort_order":236,
"lat":-33.34,
"lon":151.74,
"apparent_t":21.9
}
]
基本上,我只需要过滤掉某些字段并为其打印键值。我无法为此制定后续步骤。非常感谢您的帮助。
如果您知道要提取的密钥,只需...提取这些密钥即可。
curl 'http://www.bom.gov.au/fwo/IDN60801/IDN60801.95765.json' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36' |
jq '[.[][][] | select(.apparent_t>5) | {"sort_order": .sort_order, "lat": .lat, "lon": .lon, "apparent_t": .apparent_t}]'
这会输出一个字典列表;如果您实际上一次只想要输出中一系列 JSON 片段中的字典,则取出外部 [...]
(可能与 -c
结合,然后每行得到一个字典)。