JSONPath 運算式

JSONPath 標記法描述 JSON 文件中一或多個元素的路徑。

下列案例使用 JSONPath 標記法:

以下是支援的 JSONPath 標記法子集:

路徑運算式 描述
$ 根物件
. 選取父物件中的指定屬性。
如果 屬性不包含特殊字元,請使用這個表示法。
['property']["property"] 選取父物件中的指定屬性。 請確定您將單引號或雙引號放在屬性名稱周圍。
如果屬性名稱包含特殊字元,例如空格,或以 以外的 A..Za..z_字元開頭,請使用這個表示法。
[n] 從陣列中選取 n 個元素。 索引是以 0 為基礎。

注意

不支援通配符、遞歸、等位、配量和目前物件。

範例

假設有下列 JSON 檔:

{
  "Source": "Server-01",
  "Timestamp": "2023-07-25T09:15:32.123Z",
  "Log Level": "INFO",
  "Message": "Application started successfully.",
  "Details": {
    "Service": "AuthService",
    "Endpoint": "/api/login",
    "Response Code": 200,
    "Response Time": 54.21,
    "User": {
      "User ID": "user123",
      "Username": "kiana_anderson",
      "IP Address": "192.168.1.100"
    }
  }
}

您可以使用 JSONPath 表示法來代表每個欄位,如下所示:

"$.Source"                     // Source field
"$.Timestamp"                  // Timestamp field
"$['Log Level']"               // Log Level field
"$.Message"                    // Message field
"$.Details.Service"            // Service field
"$.Details.Endpoint"           // Endpoint field
"$.Details['Response Code']"   // Response Code field
"$.Details['Response Time']"   // Response Time field
"$.Details.User['User ID']"    // User ID field
"$.Details.User.Username"      // Username field
"$.Details.User['IP Address']" // IP Address field