get_json_object 기능

적용 대상:체크 표시된 예 Databricks SQL 체크 표시된 예 Databricks Runtime

path에서 JSON 개체를 추출합니다.

팁 (조언)

새 코드의 경우 Azure Databricks VARIANT 데이터 형식: 연산자 사용하여 JSON 데이터를 쿼리하는 것이 좋습니다. VARIANT 는 문자열 기반 JSON 구문 분석보다 더 나은 읽기 및 쓰기 성능, 대/소문자 구분 필드 액세스 및 보다 명확한 의미 체계를 제공합니다. 변형이 JSON 문자열과 어떻게 다른지 알아보세요.

구문

get_json_object(expr, path)

논쟁

  • expr: 잘 구성된 JSON이 포함된 STRING 식입니다.
  • path: 에 루팅된 $JSONPath 식을 포함하는 STRING 리터럴입니다. 지원되는 구문에 대한 참고 사항 및 일반적인 패턴 에 대한 예제 를 참조하세요.

반품

스트링입니다.

개체를 찾을 수 없으면 Null이 반환됩니다.

예제

-- Extract a top-level field
> SELECT get_json_object('{"a":"b"}', '$.a');
 b

-- Extract a nested field
> SELECT get_json_object('{"a":{"b":"c"}}', '$.a.b');
 c

-- Extract an array element by index
> SELECT get_json_object('{"items":["apple","pear"]}', '$.items[0]');
 apple

-- Extract a field whose name contains a space
> SELECT get_json_object('{"first name":"Ada"}', '$["first name"]');
 Ada

-- Extract a field whose name contains a dot, using bracket notation with double quotes
> SELECT get_json_object('{"ids":{"a.b":"42"}}', '$.ids["a.b"]');
 42

-- Extract a field from every element of an array
> SELECT get_json_object('{"items":[{"n":1},{"n":2}]}', '$.items[*].n');
 [1,2]

-- Returns NULL when the path does not match
> SELECT get_json_object('{"a":"b"}', '$.missing');
 NULL

Notes

get_json_object 는 .에 $루팅된 JSONPath 구문을 사용합니다. 점 표기법(.field)에 의한 필드 액세스는 대/소문자를 구분하지 않습니다. 대괄호 표기법(['field'] 또는 ["field"])은 대/소문자를 구분합니다. 이는 Azure Databricks JSON 경로 식: 연산자와 함께 사용하여 별도로 문서화된 VARIANT 및 JSON 문자열을 쿼리하는 데 사용됩니다.