Share via


Espressioni JSONPath

La notazione JSONPath descrive il percorso di uno o più elementi in un documento JSON.

La notazione JSONPath viene usata negli scenari seguenti:

È supportato il subset seguente della notazione JSONPath:

Espressione di percorso Descrizione
$ Oggetto radice
. Seleziona la proprietà specificata in un oggetto padre.
Usare questa notazione se la proprietà non contiene caratteri speciali.
['property'] o ["property"] Seleziona la proprietà specificata in un oggetto padre. Assicurarsi di inserire virgolette singole o virgolette doppie intorno al nome della proprietà.
Utilizzare questa notazione se il nome della proprietà contiene caratteri speciali, ad esempio spazi, o inizia con un carattere diverso da A..Za..z_.
[n] Seleziona l'elemento n-th da una matrice. Gli indici sono basati su 0.

Nota

I caratteri jolly, la ricorsione, l'unione, le sezioni e l'oggetto corrente non sono supportati.

Esempio

Dato il documento JSON seguente:

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

È possibile rappresentare ognuno dei campi con la notazione JSONPath come indicato di seguito:

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