How to run jq from gitbash in windows?

DotNetDeveloper picture DotNetDeveloper · Dec 29, 2018 · Viewed 33.7k times · Source

I have gitbash in Windows. I am trying to run jq but its giving me error.

$ ./jq-win64.exe 
jq 
parse error: Invalid numeric literal at line 2, column 0

Intention: I want to use jq to parse json.

Answer

VonC picture VonC · Dec 29, 2018

Using jq-win64.exe from github.com/stedolan/jq/releases, I get

vonc@voncav MINGW64 /d/prgs/dl
$ ./jq-win64.exe --version
jq-1.6

vonc@voncav MINGW64 /d/prgs/dl
$ echo '{"foo": 0}' | ./jq-win64.exe .
{
  "foo": 0
}

So it does work, but it then depends on the json document you are parsing with it.
If that json document is not well-formed, that would generate the error you see.

In your bash session, you can define (or add to your ~/.bashrc) an alias:

alias jq=/path/to/jq-win64.exe

That way, you don't need to use ./jq, but directly jq.

$ echo '{"foo": 0}' | jq

In my case:

vonc@voncav:/$ alias jq=/mnt/d/dwnl/jq-win64.exe
vonc@voncav:/$ echo '{"foo": 0}' | jq
{
  "foo": 0
}