JSONPath 運算式
JSONPath 標記法描述 JSON 文件中一或多個元素的路徑。
下列案例使用 JSONPath 標記法:
- 要指定用於擷取的資料對應
- 要指定用於外部資料表的資料對應
- 在 Kusto 查詢語言 (KQL) 函式中處理動態物件,例如 bag_remove_keys () 和 extract_json ()
以下是支援的 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
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應