jq: 命令行操作 json 文件

jq 是一個輕量且靈活的命令行 JSON 處理工具,用於在命令行中解析、操作和格式化 JSON 數據。

以下是 jq 的一些常見用途和示例:

基本用法:

假設有一個名爲 data.json 的 JSON 文件,內容如下:

{
  "name""John Doe",
  "age": 30,
  "address"{
    "city""New York",
    "country""USA"
  },
  "scores"[85, 90, 78]
}
  1. 查看 JSON 結構:
cat data.json | jq

  1. 選擇特定字段:
cat data.json | jq '.field_name'

例如 cat data.json | jq '.name':

  1. 過濾對象:
cat data.json | jq '.objects[] | select(.property == "value")'

例如  cat data.json | jq '.scores[] | select(. >= 80)'

  1. 映射和轉換數組:
cat file.json | jq '.array | map(.property)'

cat data.json | jq '.scores | map(. * 2)'

高級用法:

  1. 變量和條件語句:
cat data.json | jq 'if .age > 18 then "成年人" else "未成年人" end''
  1. 多個操作:
cat data.json | jq '.address | .city, .country'

  1. 以 JSON 輸出:
cat data.json | jq -c '.name, .age'

jq 支持各種操作和過濾器,用於更復雜的 JSON 處理, 可以參考官方文檔獲取詳細信息:jq 手冊

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/fb4ffJ4IALw8CViP9IETdQ