Share via


JSONPath 식

JSONPath 표기법은 JSON 문서에서 하나 이상의 요소에 대한 경로를 설명합니다.

JSONPath 표기법은 다음 시나리오에서 사용됩니다.

JSONPath 표기법의 다음 하위 집합이 지원됩니다.

경로 식 설명
$ 루트 개체
. 부모 개체에서 지정된 속성을 선택합니다.
속성에 특수 문자가 없는 경우 이 표기법을 사용합니다.
['property'] 또는 ["property"] 부모 개체에서 지정된 속성을 선택합니다. 속성 이름 주위에 작은따옴표나 큰따옴표를 배치해야 합니다.
속성 이름에 공백과 같은 특수 문자가 포함되어 있거나 가 아닌 A..Za..z_문자로 시작하는 경우 이 표기법을 사용합니다.
[n] 배열에서 n번째 요소를 선택합니다. 인덱스는 0 기반입니다.

참고

와일드카드, 재귀, 공용 구조체, 조각 및 현재 개체는 지원되지 않습니다.

예제

다음 JSON 문서가 제공됩니다.

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

다음과 같이 JSONPath 표기법을 사용하여 각 필드를 나타낼 수 있습니다.

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