Comment imprimer JSON en utilisant JQ autonome?

31

Actuellement, lorsque je souhaite imprimer un fichier json à l'aide de jq , j'utilise:

cat file.json | grep jq .

Pourtant, je m'attendrais jqà accepter un nom de fichier comme argument sans avoir à y recourir cat.

La page de manuel indique:

jq [options ...] filtre [fichiers ...]

... Par défaut, jq lit un flux d'objets JSON (séparés par des espaces) depuis stdin. Un ou plusieurs fichiers peuvent être spécifiés, auquel cas jq lira l'entrée de ceux-ci à la place.

Pourtant en cours d'exécution:

jq file.json

échoue en lançant des erreurs de compilation que les clés ne sont pas définies.

Comment suis-je censé ajouter le fichier lors de l'exécution jq?

k0pernikus
la source

Réponses:

49
jq . file.json

est ce que je cherchais. Je ne savais pas que .c'est un filtre et non un espace réservé pour le contenu canalisé:

.

Le filtre le plus simple (et le moins intéressant) absolu est .. Il s'agit d'un filtre qui prend son entrée et la produit inchangée en sortie.

Et la page de manuel indique clairement que le filtre est un argument requis.

k0pernikus
la source