2017-10-15 6 views
2

Salut, j'essaie en script shell d'obtenir une liste des balises de service consul pour les nœuds passants myApp, en utilisant jq.Récupération des résultats jq sous la forme d'un objet liste, par rapport à un flux de membres

quand j'ai quelque chose comme ça ..

curl 'http://127.0.0.1:8500/v1/health/service/myApp?dc=a&passing=true' \ 
    | jq '.[].Checks[1].ServiceTags[]' 

sortie est ..

"a" 
"b" 
"c" 
"d" 

Je veux savoir si je pouvais obtenir une liste. Je veux que la sortie de cette manière ..

["a","b","c","d"] 

pouvez-vous s'il vous plaît suggérer des options ..

Répondre

2

Au lieu de

jq '.[].Checks[1].ServiceTags[]' 

Essayez

jq '[.[].Checks[1].ServiceTags[]]' 

Le [] Instruire JQ supplémentaire pour collecter les valeurs dans un tableau. Voir le Array construction: [] dans le manuel jq.

+0

Si cela résout votre problème, veuillez l'accepter comme réponse ou attendre d'autres explications. – bhansa