Expressions JSONPath
La notation JSONPath décrit le chemin d’accès à un ou plusieurs éléments dans un document JSON.
La notation JSONPath est utilisée dans les scénarios suivants :
- Pour spécifier des mappages de données pour l’ingestion
- Pour spécifier des mappages de données pour des tables externes
- Dans Langage de requête Kusto fonctions (KQL) qui traitent des objets dynamiques, comme bag_remove_keys() et extract_json()
Le sous-ensemble suivant de la notation JSONPath est pris en charge :
Expression de chemin | Description |
---|---|
$ |
Objet racine |
. |
Sélectionne la propriété spécifiée dans un objet parent. Utilisez cette notation si la propriété ne contient pas de caractères spéciaux. |
['property'] ou ["property"] |
Sélectionne la propriété spécifiée dans un objet parent. Veillez à placer des guillemets simples ou des guillemets doubles autour du nom de la propriété. Utilisez cette notation si le nom de la propriété contient des caractères spéciaux, tels que des espaces, ou commence par un caractère autre que A..Za..z_ . |
[n] |
Sélectionne le n-ième élément dans un tableau. Les index sont basés sur 0. |
Notes
Les caractères génériques, la récursivité, l’union, les tranches et l’objet actuel ne sont pas pris en charge.
Exemple
Étant donné le document JSON suivant :
{
"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"
}
}
}
Vous pouvez représenter chacun des champs avec la notation JSONPath comme suit :
"$.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
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour