JSONPath 식
JSONPath 표기법은 JSON 문서에서 하나 이상의 요소에 대한 경로를 설명합니다.
JSONPath 표기법은 다음 시나리오에서 사용됩니다.
- 수집을 위한 데이터 매핑을 지정하려면
- 외부 테이블에 대한 데이터 매핑을 지정하려면
- bag_remove_keys() 및 extract_json()와 같은 동적 개체를 처리하는 KQL(Kusto 쿼리 언어) 함수
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
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기