parse_json()
string
을 JSON 값으로 해석하고 값을 dynamic
으로 반환합니다. 가능하면 값이 관련 데이터 형식으로 변환됩니다. 데이터 형식 변환이 없는 엄격한 구문 분석의 경우 extract() 또는 extract_json() 함수를 사용합니다.
JSON 복합 개체의 요소를 둘 이상 추출해야 하는 경우 extract_json() 함수보다 parse_json() 함수를 사용하는 것이 좋습니다. 가능하면 dynamic() 을 사용합니다.
사용되지 않는 별칭: parsejson(), toobject(), todynamic()
Syntax
parse_json(
json)
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | 형식 | 필수 | Description |
---|---|---|---|
json | string |
✔️ | JSON 형식의 값 또는 JSON으로 구문 분석할 동적 속성 모음 형식의 문자열입니다. |
반환
json 값에 의해 결정되는 dynamic
형식의 개체입니다.
- json이
dynamic
형식인 경우 해당 값이 그대로 사용됩니다. - json이
string
형식이고 올바른 형식의 JSON 문자열이면 문자열이 구문 분석되고 생성된 값이 반환됩니다. - json이
string
형식이지만 올바른 형식의 JSON 문자열이 아닌 경우 반환되는 값은 원래string
값을 보유하는dynamic
형식의 개체입니다.
예제
다음 예제에서 context_custom_metrics
가 string
인 경우 다음과 유사합니다.
{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}}
그런 다음, 다음 쿼리는 개체의 duration
슬롯 값을 검색하고, 그로부터 두 개의 슬롯 및 duration.value
duration.min
(118.0
및 각각)을 110.0
검색합니다.
T
| extend d=parse_json(context_custom_metrics)
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]
참고
일반적으로 "슬롯" 중 하나가 다른 JSON 문자열인 속성 모음을 설명하는 JSON 문자열이 있습니다.
다음은 그 예입니다.
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d
이 경우 parse_json
을 두 번 호출할 뿐만 아니라 두 번째 호출에서 tostring
이 사용되는지 확인해야 합니다. 그렇지 않으면 선언된 형식이 dynamic
이기 때문에 parse_json
에 대한 두 번째 호출은 입력을 그대로 출력에 전달합니다.
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d_b_c=parse_json(tostring(parse_json(d).b)).c
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기