2016-09-28 118 views
0

我有一個由多個JSON-「元素」組成的JSON文件,例如,使用jq處理一個JSON文件中的多個「元素」

{ 
    "name": "Name 1", 
    "foo": "Bar" 
} 
{ 
    "id": 123, 
    "bar": "Foo" 
} 

我只是在第二個元素感興趣,我需要的元素的「索引」(即我不知道是什麼領域元素將包含)查詢。

如何通過jq實現此目的?

回答

2

根據您擁有的jq版本,有幾種可能的答案,所以在這裏我將重點討論一個通用且通用的答案。

  1. 使用-s(「啜食」)選項以獲得第二JSON實體,如jq -s '.[1]'

  2. 在JQ 1.4及更高版本,在對象上使用時JQ過濾.[]保留的順序鍵。 (使用JQ 1.3,你可能是出於運氣,如果你不知道的鍵名什麼。)例如,使用JQ 1.4或更高版本:

$ jq '.[]' {"b":1, "a":2} 1 2

+0

啜食,完美:) – larsmoa

相關問題