Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| utilisateurs:bcag2:json_query [Le 11/10/2022, 11:20] bcag2 créée | — (Version actuelle) | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== JSON Query (jq) ====== | ||
| - | |||
| - | ===== Installation ===== | ||
| - | Installer avec les [[:sudo|droits d'administration]] le paquet jq | ||
| - | <code bash> | ||
| - | apt install jq | ||
| - | </code> | ||
| - | |||
| - | ===== Utilisation ===== | ||
| - | On peut l'utiliser simplement : | ||
| - | <code bash> | ||
| - | curl service:<port>/<table_ou_vue> | jq | ||
| - | </code> | ||
| - | |||
| - | On peut aussi récupérer qu'un attribut : | ||
| - | <code bash> | ||
| - | curl service:<port>/<table_ou_vue> | jq '.[] | .mon_attribut' | ||
| - | </code> | ||
| - | |||
| - | Et on peut ne prendre que certains enregistrements, par exemple, si vous avez 10 enregistrements, pour voir les données que du 3ème et 4ème : | ||
| - | <code bash> | ||
| - | curl service:<port>/<table_ou_vue> | jq '.[3:5]' | ||
| - | </code> | ||
| - | |||
| - | ou des deux derniers : | ||
| - | <code bash> | ||
| - | curl service:<port>/<table_ou_vue> | jq '.[-2:]' | ||
| - | </code> | ||
| - | |||
| - | Exemple pour extraire, à partir de l'[[https://adresse.data.gouv.fr/api-doc/adresse|API REST d'Etalab]], le nom d'une rue lyonnaise à partir de la chaîne //professeur// (et du code postal 69007), et ne récupérer que le premier retour (au cas où il y en aurait plusieurs) | ||
| - | <code bash> | ||
| - | curl "https://api-adresse.data.gouv.fr/search/?q=professeur&postcode=69007&limit=3" | jq '.features[0].properties.name' | ||
| - | # retourne : | ||
| - | "Rue Professeur Grignard" | ||
| - | </code> | ||