Share via


JSONPath-expressies

JSONPath-notatie beschrijft het pad naar een of meer elementen in een JSON-document.

De JSONPath-notatie wordt gebruikt in de volgende scenario's:

De volgende subset van de JSONPath-notatie wordt ondersteund:

Padexpressie Description
$ Hoofdobject
. Selecteert de opgegeven eigenschap in een bovenliggend object.
Gebruik deze notatie als de eigenschap geen speciale tekens bevat.
['property'] of ["property"] Selecteert de opgegeven eigenschap in een bovenliggend object. Zorg ervoor dat u enkele aanhalingstekens of dubbele aanhalingstekens plaatst rond de naam van de eigenschap.
Gebruik deze notatie als de naam van de eigenschap speciale tekens bevat, zoals spaties, of begint met een ander teken dan A..Za..z_.
[n] Selecteert het n-th element uit een matrix. Indexen zijn gebaseerd op 0.

Notitie

Jokertekens, recursie, samenvoeging, segmenten en huidig object worden niet ondersteund.

Voorbeeld

Gegeven het volgende JSON-document:

{
  "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"
    }
  }
}

U kunt elk van de velden met de JSONPath-notatie als volgt weergeven:

"$.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