我gitbash在Windows中。我正在尝试运行,jq但它给了我错误。
$ ./jq-win64.exe
jq
parse error: Invalid numeric literal at line 2, column 0
Run Code Online (Sandbox Code Playgroud)
目的:我想jq用来解析json。
MrS*_*ind 34
最简单的解决方案,始终是最新版本:
在你的 gitbash 中运行这个 curl:
curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe
Run Code Online (Sandbox Code Playgroud)
或者手动保存jq-win64.exe上面的链接jq.exe到你的/usr/bin(在你的 git bash 安装文件夹中)
(如果您在代理后面,请添加-x proxyhost:port)
bry*_*ook 30
我讨厌那些说你需要另一个工具才能使用另一个工具下载的答案,但使用https://chocolatey.org/对我来说这非常简单。
从提升的命令提示符运行:
choco install jq
Run Code Online (Sandbox Code Playgroud)
jq 从 bash 开始神奇地工作。
Von*_*onC 10
使用jq-win64.exe从github.com/stedolan/jq/releases,我得到
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
}
Run Code Online (Sandbox Code Playgroud)
这样就可以了,但是它取决于您要解析的json文档。
如果该json文档格式不正确,则会生成您看到的错误。
在bash会话中,您可以定义(或添加到~/.bashrc)别名:
alias jq=/path/to/jq-win64.exe
Run Code Online (Sandbox Code Playgroud)
这样,您无需使用./jq,而是直接使用jq。
$ echo '{"foo": 0}' | jq
Run Code Online (Sandbox Code Playgroud)
就我而言:
vonc@voncav:/$ alias jq=/mnt/d/dwnl/jq-win64.exe
vonc@voncav:/$ echo '{"foo": 0}' | jq
{
"foo": 0
}
Run Code Online (Sandbox Code Playgroud)
我刚刚下载了二进制文件%HOMEPATH%/bin/jq-win64,它立即通过jq
$ mkdir -p $HOMEPATH/bin
$ curl -L -o $HOMEPATH/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe
Run Code Online (Sandbox Code Playgroud)
测试
$ jq --version
jq-1.6
Run Code Online (Sandbox Code Playgroud)