J'ai travaillé sur un appel API pour le structurer au format JSON afin de pouvoir le pousser plus tard dans une base de données. Le code ressemble alors à ceci :
getPage() {
curl --fail -X GET 'https://api.app.com/v1/test?page=1&pageSize=1000&sort=desc' \
-H 'Authorization: Bearer 123abc456pickupsticks789' \
-H 'cache-control: no-cache'
}
getPage \
| jq -c '.items | .[] | {landing_id: .landing_id, submitted_at: .submitted_at, answers: .answers, email: .hidden.email}' \
> testpush.json
Cependant, lorsque je l'exécute, il produit cette erreur : jq: error (at <stdin>:0): Cannot iterate over null (null)
J'ai examiné des solutions telles que celui-ci , ou celui de ce site et cette réponse.
La solution la plus courante semble être d'utiliser un ?
devant []
et je l'ai essayé dans le jq
vers le bas, mais cela ne fonctionne toujours pas. Il produit juste un fichier json vide.
Ai-je mal interprété les conclusions de ces autres réponses et n'ai-je pas mis mon ?
au bon endroit ?