26

When using jq to process JSON, I often lose the overview due to long JSON objects. Thus, something like jq . | less would be nice. However, although the above works, the nice coloring by jq is gone.

Is there another way to read jq's output line by line, or window by window, without having the terminal spammed with the full JSON object?

Edit: This did not work for me: echo '{"hello": "world"}' | jq . | less -C

peak
  • 105,803
  • 17
  • 152
  • 177
Xiphias
  • 4,468
  • 4
  • 28
  • 51

2 Answers2

32

Use the jq -C (colorize) option before paginating it with a pager like more -r or less -r.

xeruf
  • 2,602
  • 1
  • 25
  • 48
peak
  • 105,803
  • 17
  • 152
  • 177
16

report.json is a file with JSON (cat report.json prints but not formatted)

cat report.json | jq . -C | more

Outputs jq with pager and color

or via less instead of more

cat report.json | jq . -C | less -r

P.S: the comments in this question where also helpful so thanks for that

Alfred
  • 60,935
  • 33
  • 147
  • 186