적용 대상: ✅Microsoft Fabric✅
string
을 JSON 값으로 해석하고 값을 dynamic
으로 반환합니다. 가능하면 값이 관련 데이터 형식으로 변환됩니다. 데이터 형식 변환 없이 엄격한 구문 분석의 경우 extract() 또는 extract_json() 함수를 사용합니다.
JSON 복합 개체의 요소를 둘 이상 추출해야 하는 경우 extract_json() 함수보다 parse_json() 함수를 사용하는 것이 좋습니다. 가능하면 dynamic()을 사용합니다.
사용되지 않는 별칭: parsejson(), toobject(), todynamic()
구문
parse_json(
json)
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
json | string |
✔️ | JSON 형식 값 또는 JSON으로 구문 분석할 동적 속성 모음 형식의 문자열입니다. |
반품
json 값에 의해 결정되는 형식 dynamic
의 개체입니다.
- json해당 값이 있는 그대로 사용됩니다.
- json이 형식이고 형식이
string
인 경우 문자열이 구문 분석되고 생성된 값이 반환됩니다. - json이 형식이지만 형식이 올바른 JSON 문자열
string
경우 입니다.
예시
이 섹션의 예제에서는 구문을 사용하여 시작하는 방법을 보여 줍니다.
기간 메트릭 구문 분석
다음 예제에서 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
)을 검색합니다.
datatable(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}}'
]
| extend d = parse_json(context_custom_metrics)
| extend duration_value = d.duration.value, duration_min = d.duration.min
출력
context_custom_metrics | d | duration_value | duration_min |
---|---|---|---|
{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}} | {"duration":{"value":118,"count":5,"min":100,"max":150,"stdDev":0,"sampledValue":118,"sum":118}} | 118 | 100 |
중첩된 JSON 구문 분석
일반적으로 "슬롯" 중 하나가 다른 JSON 문자열인 속성 모음을 설명하는 JSON 문자열이 있습니다.
예시:
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d
출력
print_0 |
---|
{"a":123, "b":"{"c":456}"} |
이러한 경우 두 번 호출 parse_json
할 뿐만 아니라 두 번째 호출 tostring
에서 사용되는지 확인해야 합니다. 그렇지 않으면 선언된 형식이 dynamic
때문에 parse_json
두 번째 호출은 입력을 출력 as-is전달합니다.
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d_b_c=parse_json(tostring(parse_json(d).b)).c
Ouput
d_b_c |
---|
456 |
관련 콘텐츠
- 구문 분석 연산자
- 플러그 인 bag_unpack
- mv-expand 연산자