2016-07-28 63 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文件以查看源文件是否存在語法問題很方便。