JMESPath 入門

Undefined443發表於2024-05-02

JMESPath 是一種查詢語言,專門用於處理 JSON 物件。

以 AWS CLI 的輸出為例,JMESPath 規則和基本語法包括:

  1. 欄位訪問: 使用點 . 來訪問 JSON 物件中的欄位。例如,Instance.Type.InstanceType

  2. 索引列表: 透過索引來訪問列表中的元素。索引是基於零的,例如 Reservations[0].Instances[0].InstanceId

  3. 管道表示式 (|): 用於將一個表示式的輸出用作另一個表示式的輸入。例如,Reservations[].Instances[].Tags[] | [?Key=='Name'].Value

  4. 切片操作: 類似 Python 列表的切片,如 Reservations[0:3],表示訪問前三個元素。

  5. 過濾: 使用 [] 建立過濾表示式,找到符合特定條件的元素。例如,Instances[?State.Name=='running']

  6. 投影: 即所謂的“對映操作”,對集合中的每個元素應用一個表示式。例如,Instances[].{id: InstanceId, type: InstanceType}

  7. 多選雜湊: 使用 {} 從多個欄位中選擇並重新命名輸出。例如,{InstanceId: InstanceId, State: State.Name}

  8. 函式: JMESPath 還包含一組函式,例如 contains(), starts_with(), sort() 等,用於執行更復雜的操作。

See also: jmespath.org

中文版:www.osgeo.cn