Share via


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 :

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