bashjqgit-bash

How to run jq from gitbash in windows?


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.


Solution

  • 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
    }