web-dev-qa-db-fra.com

Comment imprimer JSON en utilisant JQ autonome?

Actuellement, quand je veux imprimer un joli fichier json en utilisant jq , j'utilise:

cat file.json | grep jq .

Pourtant, je m'attendrais à ce que jq accepte un nom de fichier comme argument sans avoir à 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 les entrées 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 de jq?

37
k0pernikus
jq . file.json

est ce que je cherchais. Je ne savais pas que le . 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.

62
k0pernikus