在Ubuntu中查看JSON API首选 curl + jq —— 一键提取所需字段

Linux・CLI・DevOpsカテゴリを表すパンダのイラスト Linux・CLI・DevOps

关于本文
本文是通过利用生成式AI的自动化生成流程创建的。我们确认了 curl、jq 和 GitHub REST API 的公开规范,并将其整理为可在 Ubuntu 中快速阅读 JSON API 的实用小贴士。

验证状态:📘 已确认公开规范・已实现Bash示例・未在Ubuntu实机上验证

在Ubuntu中查看JSON API首选 curl + jq —— 一键提取所需字段

虽然用 curl 获取API的JSON很简单,但直接看往往又长又难读。如果在Ubuntu中结合使用 curljq,就可以通过一个管道将获取和格式化连在一起

以GitHub的公开Repository API为例

# 使用curl从公开API获取JSON。


# -f: 将HTTP错误视为失败


# -sS: 静默常规显示,但显示错误


# -L: 跟随重定向

curl -fsSL "https://api.github.com/repos/papanda925/Daily-Code-Samples" |

  # 将JSON传递给jq,仅提取需要的5个字段。

  jq '{
    full_name,
    visibility,
    default_branch,
    language,
    updated_at
  }'

只会显示您想确认的5个字段,而不是整个响应。

-f -sS -L 有什么用?

  • -f: 避免将HTTP错误轻易当作成功处理

  • -sS: 抑制常规进度显示,但会显示错误

  • -L: 跟随重定向

在确认API时,为了减少诸如“明明是404却返回了JSON导致处理继续进行”之类的疏忽,我们也会留意退出代码。

结合jq使用很方便的例子

数组可以用 .items[],条件可以用 select(...),仅需的项目可以用 {name, status} 进行筛选。比起让人类肉眼去查看巨大的JSON,“固定要看的项目”更适合用于排查故障。

flowchart LR
    A[curlで取得] --> B[JSON]
    B --> C[jqで抽出]
    C --> D[必要項目だけ表示]

当没有安装jq时

sudo apt update
sudo apt install -y jq

在生产服务器上,请不要随意添加软件包,务必确认运营规则。

GitHub示例

官方信息・一手信息

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

标题和URL已复制