iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
自我挑戰組

攔截記憶碼:每日一小時記錄技術學習系列 第 14

Day 13 - jq:JSON 處理瑞士刀

  • 分享至 

  • xImage
  •  

攔截源頭

  • 發現管道:Github
  • 攔截原因:最近在 debug API response,JSON 結構很長,用 cat 或 less 看完全沒效率。Google 了一下才發現 jq 幾乎是處理 JSON 的標配工具,馬上決定攔截。

技術初探

  • 官方定義:jq is a lightweight and flexible command-line JSON processor.
  • 核心賣點:
    • 直接在 CLI 裡格式化 JSON
    • 支援 filter、map、select 等操作
    • 適合與其他 CLI 工具(curl, grep, sed)組合
    • 語法類似 JavaScript,容易上手
  • 適用場景
    • API response 美化輸出
    • 從 JSON 中抓特定欄位
    • 大量資料過濾與轉換

實戰使用

快速安裝

# macOS
brew install jq

# Ubuntu / Debian
sudo apt-get install jq

Hello World

echo '{"name":"Alice","age":25}' | jq .

輸出結果會自動排版:

{
  "name": "Alice",
  "age": 25
}

實際應用

查詢 GitHub API 只顯示 repo 名稱:

curl -s https://api.github.com/users/octocat/repos | jq '.[].name'

記憶碼摘要

技術:jq
分類:命令列工具
難度:⭐☆☆☆☆(1-5顆星)
實用度:⭐⭐⭐⭐⭐(1-5顆星)
一句話:命令列處理 JSON 的神器,格式化與過濾超方便。
關鍵指令:curl -s url | jq .
適用情境:處理 API 回傳資料、快速過濾 JSON。

結語

學會 jq 之後,處理 JSON 就再也不需要開編輯器了,直接在命令列上就能解決。這讓我在 debug API、處理 log 或是寫小腳本時效率大幅提升。


上一篇
Day 12 - tldr:命令列速查小抄
系列文
攔截記憶碼:每日一小時記錄技術學習14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言