2017-08-31 40 views
0

我在Windows 10環境中使用jq 1.5。我收到通過API的幾個信息,包括不同城市陣列那樣:提取json數組/對象的第一個和最後一個值

{ 

    "cruises": [ 
    { 

     "waypoint_cities": [ 
     "Palma de Mallorca", 
     "Cádiz", 
     "Puerto del Rosario, Fuerteventura", 
     "Arrecife, Lanzarote", 
     "Arrecife, Lanzarote", 
     "Agadir", 
     "Gibraltar", 
     "Barcelona", 
     "Palma de Mallorca" 
     ]}]} 

我怎樣才能找到第一個與JQ這些陣列的最後一個項目?我嘗試了函數min/maxby,但該函數只將字母的第一個和最後一個字符傳遞給entrys。

問候 蒂莫

+0

顯示您的預期產量 – RomanPerekhrest

回答

3

這裏使用firstlast

的溶液
.cruises[].waypoint_cities | first, last 

輸出

"Palma de Mallorca" 
"Palma de Mallorca" 
+0

Hi @ jq170727,就像一個魅力。 – TimoC

-1

假設數據被解析和生活在var data

  • 第一:data.cruises[0].waypoint_cities[0]
  • 最後:data.cruises[0].waypoint_cities[data.cruises[0].waypoint_cities.length-1]
1

[0]返回第一個元件在數組; [-1]返回最後一個。 (見手冊 「基本濾波器」 部分。)

對於上面

jq '.[][][][0, -1]' 

給出的輸入產生該輸出

"Palma de Mallorca" 
"Palma de Mallorca" 
相關問題