Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:bcag2:json_query [Le 11/10/2022, 11:21] bcag2 [Utilisation] |
— (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 ne récupérer qu'un attribut (dans le cas où seule une liste sans clé supérieure est retournée, sinon reportez-vous à l'exemple concret plus pas) : | ||
- | <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> | ||