Comment filtrer le tableau d'objets en propriété d'élément de valeurs à l'aide jq?

J'aime filtre des fichiers json à l'aide de jq:

jq . some.json

Donné le json contenant un tableau d'objets:

{
  "theList": [
    {
      "id": 1,
      "name": "Horst"
    },
    {
      "id": 2,
      "name": "Fritz"
    },
    {
      "id": 3,
      "name": "Walter"
    },
    {
      "id": 4,
      "name": "Gerhart"
    },
    {
      "id": 5,
      "name": "Harmut"
    }
  ]
}

Je veux filtrer la liste pour afficher uniquement les éléments avec id d'avoir la valeur 2 et 4, de sorte que le résultat attendu est:

{
  "id": 2,
  "name": "Fritz"
},
{
  "id": 4,
  "name": "Gerhart"
}

Comment puis-je filtrer le json à l'aide de jq? J'ai joué un peu avec le sélectionner et carte, mais n'a pas obtenu un de ceux à l'œuvre, par exemple:

$ jq '.theList[] | select(.id == 2) or select(.id == 4)' array.json
true
  • tout le monde veuillez noter: La question est à propos de jq, pas jQuery.
  • YMMD ^^ Et j'ai précisé dans la question 😀
InformationsquelleAutor k0pernikus | 2016-06-30