Share via


JSONPath-kifejezések

A JSONPath-jelölés egy JSON-dokumentum egy vagy több elemének elérési útját ismerteti.

A JSONPath jelölés a következő esetekben használatos:

A JSONPath-jelölés alábbi részhalmaza támogatott:

Elérésiút-kifejezés Description
$ Gyökérobjektum
. Kiválasztja a megadott tulajdonságot egy szülőobjektumban.
Ezt a jelölést akkor használja, ha a tulajdonság nem tartalmaz speciális karaktereket.
['property'] vagy ["property"] Kiválasztja a megadott tulajdonságot egy szülőobjektumban. Győződjön meg arról, hogy egy idézőjelet vagy dupla idézőjelet helyez el a tulajdonság neve körül.
Ezt a jelölést akkor használja, ha a tulajdonság neve speciális karaktereket tartalmaz, például szóközöket, vagy nem a karakterrel A..Za..z_kezdődik.
[n] Kiválasztja az n-edik elemet egy tömbből. Az indexek 0-alapúak.

Megjegyzés

A helyettesítő karakterek, a rekurzió, az egyesítés, a szeletek és az aktuális objektum nem támogatott.

Példa

A következő JSON-dokumentum alapján:

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

Az egyes mezőket JSONPath-jelöléssel az alábbiak szerint jelölheti:

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