Utiliser jq : installation, filtrer le JSON, mapper des tableaux, pipe avec curl

Installer jq, extraire des champs JSON, mapper des tableaux, raccourcir les réponses API avec curl.

Pour déboguer des API REST ou des logs CI, jq permet de filtrer et remodeler le JSON dans le terminal. Installation officielle sur macOS, Linux et Windows, filtres de champs, mapping de tableaux et pipes curl pour les lecteurs de hereink.

La requête est comment utiliser jq avec JSON et pipe curl. Vous devez pouvoir installer jq, lire .key, map des tableaux et réduire une réponse API.

Installbrew / apt / winget
Filtre.field · .[] · select
Pipecurl -s … | jq

Ce que jq règle

Plus que json.tool

Le json.tool Python ne fait qu’embellir. jq peut afficher .data.items[0].id, filtrer des tableaux, aplatir des objets.

Partenaire naturel de curl

Les corps API font souvent des centaines de lignes. Ajoutez | jq '.field' à la fin.

Vérifiez : jq --version. Manuel : jqlang.org, GitHub jqlang/jq.

Installer jq sur trois OS

  1. 1
    macOS (Homebrew)

    brew install jq. Vérifiez avec which jq et jq --version.

  2. 2
    Linux

    Debian/Ubuntu : sudo apt update && sudo apt install jq. Fedora : sudo dnf install jq. Arch : sudo pacman -S jq.

  3. 3
    Windows

    winget install jqlang.jq ou choco install jq. Nouveau terminal, puis jq --version.

  4. 4
    Premier filtre

    echo '{"ok":true}' | jq .ok → true.

Filtrer des clés et mapper des tableaux

echo '{"user":{"name":"Lin"}}' | jq .user.name
echo '{"items":[{"id":1},{"id":2}]}' | jq '.items[]'
echo '{"items":[{"id":1},{"id":2}]}' | jq '.items | map(.id)'

Entourez les filtres de quotes simples. Le point . = valeur JSON courante.

Pipe avec curl

CasExempleNote
API publiquecurl -s https://api.github.com/repos/jqlang/jq | jq '{name, stars: .stargazers_count}'Champs utiles seulement
Texte brutcurl -s … | jq -r '.token'-r sans guillemets JSON
Convient
Inspecter champs REST, filtrer logs JSON, métadonnées CI.
Ne convient pas
Édition massive sur place ; texte non JSON.
Que signifie parse error ?

L’entrée n’est pas du JSON valide. Testez avec jq . seul.

Windows ne reconnaît pas jq ?

Rouvrez le terminal. where jq.

jq = yq ?

Non. jq est pour JSON. YAML → yq.

Puis dessinez les frontières

Forme API dans le terminal, frontières sur un dessin. créer un espace.

Ouvrir