2016-07-28 140 views
0

jq'。''解析json并显示?jq'。'是什么意思?做?

curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.' 

我看到了JSON解析和正确diplayed

什么是背后的“xxxx实施| JQ '' “

我怎么理解?

回答

3

the documentation

.

绝对简单的(和最有趣的)过滤器是.。这是一个过滤器,它接受其输入并将其作为输出生成。

默认情况下,由于jq可以打印所有的输出,所以这个不重要的程序可以用于格式化来自curl的JSON输出。

+0

无论好坏,jq首先解析JSON,然后漂亮地打印解析后的版本。这尤其意味着数字的初始表示会丢失。 – peak

+0

@peak:“数字的初始表示”是什么意思? –

+0

输入表示。考虑发生了什么,例如,1.0e1000 – peak

2

在jq编程语言中,.指的是过滤器的隐式输入。例如,def f: .;定义了一个函数f,它按原样输出其隐式输入。

请注意,在过滤器参数中,过滤器可以更改.所指的内容:例如,map(f)定义为[.[] | f];在jq程序[1, 2, 3] | map(. + 1)上,.指的是数组中的每个元素。

0

除了jq .漂亮的打印输出,如果输入文件无法解析,它也会产生警告。因此,测试未知JSON文件以查看源文件是否存在语法问题很方便。