jq是一个轻量级且灵活的json处理器。
jq的Python项目详细描述
此项目包含的python绑定 jq。
安装
在安装过程中, jq 1.5的源代码是通过https下载并构建的。 因此,安装需要构建jq所需的任何程序。 这包括:
- 自动恢复
- 普通的c编译器工具链,如gcc和make。
- libtool
- python头。
debian、ubuntu或亲属
如果在debian、ubuntu或reliants上运行以下命令就足够了:
apt-get install autoconf automake build-essential libtool python-dev
红帽、软呢帽、半人马或亲属
如果在Red Hat、Fedora、CentOS或亲属上,运行以下命令就足够了:
yum groupinstall "Development Tools"
yum install autoconf automake libtool python
用法
程序可以通过传递给jq.jq来编译。 要将程序应用于输入,请调用transform方法。 py希望该值是有效的json, 例如从json.load返回的值。
fromjqimportjqjq(".").transform("42")=="42"jq(".").transform({"a":1})=={"a":1}
如果该值是未解析的json文本,请使用^{tt4}将其传入$ 参数:
jq(".").transform(text="42")==42
参数text_output可用于将输出序列化为 json文本:
jq(".").transform("42",text_output=True)=='"42"'
如果有多个输出元素,则每个元素都由 独立行,不考虑multiple_output:
jq(".[]").transform([1,2,3],text_output=True)=="1\n2\n3"
如果multiple_output是False(默认值),则第一个输出 使用:
jq(".[]+1").transform([1,2,3])==2
如果multiple_output是True,则在 数组:
jq(".[]+1").transform([1,2,3],multiple_output=True)==[2,3,4]