首页 > 解决方案 > 使 jq 过滤器适用于 windows

问题描述

提前感谢您查看此内容。我在其他 Stack Overflow 线程的帮助下构建了一个有效的 jq 过滤器,但我无法让它在我的 Windows 终端中工作

这里直接来自jqplay:

jq '.objects[ ] | "\(.id) \(.batch_fields.SJNB)"'

到目前为止,这是我没有成功的尝试:

jq '.objects[ ] | "\(.id) \(.batch_fields.SJNB)"' file.json
jq ".objects[ ] | "\(.id) \(.batch_fields.SJNB)" file.json"
jq .objects[ ] | "\(.id) \(.batch_fields.SJNB) file.json

很明显,引用或不引用是一个问题,我可以获得更简单的命令来工作,例如:

jq-win64.exe .objects[].id Row0.json

但我似乎无法解决更复杂的问题。

谢谢,杰森

标签: jq

解决方案


如果您在 Windows 命令提示符下运行它,则必须使用双引号来引用您的过滤器,这是无法绕过的。然后从那里,您只需要适当地转义过滤器中的字符。

> jq ".objects[] | \"\(.id) \(.batch_fields.SJNB)\"" file.json

推荐阅读