jq transforme et interroge JSON. Son option -e ou --exit-status fonde le statut sur la dernière valeur produite : 0 si elle n’est ni false ni null, 1 si elle vaut false ou null, et 4 sans résultat valide. Le manuel distingue aussi les erreurs d’usage, de système et de compilation.
C’est utile en automatisation, mais la dernière sortie compte. Si un filtre produit plusieurs résultats de validation, une dernière valeur réussie ne confirme pas que les précédentes ont réussi. Formulez la véritable condition d’acceptation dans le filtre au lieu de considérer tout JSON affiché comme un succès.
--slurp réunit le flux d’entrée dans un tableau et exécute le filtre une seule fois. Cela peut faciliter une vérification globale, mais change l’usage de mémoire : l’entrée est collectée plutôt que traitée valeur par valeur. Définissez explicitement le traitement d’une entrée vide, de champs manquants et de types inattendus.
Verdict : jq -e est une brique utile, pas un validateur automatique de schéma. Éprouvez le critère avec un exemple valide, une erreur au milieu, une entrée vide et du JSON mal formé ; examinez sortie et statut. Cette revue repose sur la documentation, sans mesure de débit, note de laboratoire ni test revendiqué d’une chaîne de production précise.