jq Filtre sur sous-objet de valeur
J'ai un fichier json personnes.json:
{
"Joe" : {"Job" : "Clown", "Age" : 22},
"Sally" : {"Job" : "Programmer", "Age" : 32},
"Anne" : {"Job" : "Clown", "Age" : 29}
}
Je voudrais sélectionnez tout le monde qui est un Clown. Ma sortie devrait ressembler à ceci:
{
"Joe" : {"Job" : "Clown", "Age" : 22},
"Anne" : {"Job" : "Clown", "Age" : 29}
}
J'ai essayé de l'opérateur .. comme dans
cat people.json | jq '. | map(select(.Job == "Clown"))'
Mais il semble correspondre à Joe et Anne à de multiples niveaux et produit plus de sortie alors que je veux. Des idées? Merci.
OriginalL'auteur user1879313 | 2015-02-19
Vous devez vous connecter pour publier un commentaire.
utilisation
with_entries
à la conversion d'un format intermédiaire qui représente les données dans un tableau d'objets aveckey
etvalue
éléments:selon les docs ici: http://stedolan.github.io/jq/manual/
OriginalL'auteur Hans Z.
Voici une solution à l'aide de réduire
OriginalL'auteur jq170727