Como prettyprint json usando jq standalone?

17

Atualmente, quando quero imprimir um arquivo json usando jq , eu uso:

cat file.json | grep jq .

No entanto, eu esperaria que jq aceitasse um nome de arquivo como argumento sem precisar fazer fallback em cat .

A página man diz:

jq [options...] filter [files...]

... By default, jq reads a stream of JSON objects (whitespace separated) from stdin. One or more files may be specified, in which case jq will read input from those instead.

Ainda em execução:

jq file.json

falha ao lançar erros de compilação que as chaves não estão definidas.

Como devo adicionar o arquivo ao executar jq ?

    
por k0pernikus 23.11.2015 / 16:38

1 resposta

27
jq . file.json

é o que eu estava procurando. Não percebi que o . é um filtro e não um espaço reservado para o conteúdo enviado:

.

The absolute simplest (and least interesting) filter is .. This is a filter that takes its input and produces it unchanged as output.

E a página man deixa claro que o filtro é um argumento obrigatório.

    
por 23.11.2015 / 16:38