簡體   English   中英

使用 jq 解析 JSON 輸出

[英]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結合使用,然后每行獲取一個字典)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM