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 | ||
json_query [Le 04/08/2023, 16:17] Amiralgaby changement de la section Utilisation qui n'utilisait que la commande Curl |
json_query [Le 28/03/2024, 13:30] (Version actuelle) bcag2 [Voir aussi] |
||
---|---|---|---|
Ligne 39: | Ligne 39: | ||
</code> | </code> | ||
+ | si le résultat attendu ne comporte plus qu’une chaîne de caractère, l’option //--raw-output// (ou //-r//) permet de supprimer les guillemets autour : | ||
+ | <code bash>curl https://jsonplaceholder.typicode.com/users?_limit=1 | jq -r '.[] | "\(.name)"'</code> | ||
+ | ce qui peut-être utile si on récupère cette chaîne dans la variable d’un script bash | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | nom_depuis_api=$(curl https://jsonplaceholder.typicode.com/users?_limit=1 | jq -r '.[] | "\(.name)"') | ||
+ | </code> | ||
===== Exemples ===== | ===== Exemples ===== | ||
Les tests utilisent l'outil en ligne de commande [[:curl]] pour récupérer une réponse HTTP contenant du JSON à manipuler par **JQ**. | Les tests utilisent l'outil en ligne de commande [[:curl]] pour récupérer une réponse HTTP contenant du JSON à manipuler par **JQ**. | ||
Ligne 67: | Ligne 74: | ||
| jq '.hits.hits[] | ._source.movies.title' | | jq '.hits.hits[] | ._source.movies.title' | ||
</code> | </code> | ||
+ | |||
+ | ==== avec gitlab ==== | ||
+ | Récupération d'informations sur les tickets d'un projet Gitlab : | ||
+ | <code bash>curl --header "PRIVATE-TOKEN:012-abc-345-def" "https://gitlab.com/api/v4/projects/380/issues?page=1" | jq '.[] | "\(.iid):\(.state):\(.title):\(.labels)"'</code> | ||
+ | Il faut au préalable définir le token d'accès à l'API dans le projet à mettre à la place de //012-abc-345-def//\\ | ||
+ | récupérer le n° du projet (380 dans l'exemple ci-dessus) | ||
+ | |||
Source : [[https://dev-tips.com/tools/using-jq-to-filter-json-output]] | Source : [[https://dev-tips.com/tools/using-jq-to-filter-json-output]] | ||
Ligne 72: | Ligne 86: | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
* (en) [[https://github.com/dominictarr/JSON.sh|parser JSON.sh]] pour "aplatir" une sortie JSON | * (en) [[https://github.com/dominictarr/JSON.sh|parser JSON.sh]] pour "aplatir" une sortie JSON | ||
+ | * (en) [[https://dev-tips.com/tools/using-jq-to-filter-json-output]] | ||
---- | ---- | ||
//Contributeur : [[:utilisateurs/bcag2]], [[:utilisateurs/Amiralgaby]]// | //Contributeur : [[:utilisateurs/bcag2]], [[:utilisateurs/Amiralgaby]]// |