CHECK_JSON

CHECK_JSON (JSON 유효성 검사)

JSON 문서의 유효성을 확인해요. 입력 문자열이 유효한 JSON 문서이거나 NULL이면 출력은 NULL이에요(즉 오류 없음). 입력을 유효한 JSON 값으로 변환할 수 없으면 출력 문자열에 오류 메시지가 담겨요.

출처: Snowflake SQL Reference - CHECK_JSON

본문

구문

CHECK_JSON( <string_or_variant_expr> )

인자

string_or_variant_expr

확인할 VARIANT 또는 문자열 값(또는 표현식)이에요.

표현식이 VARIANT 타입이면 문자열을 포함해야 해요.

예시

테이블을 만들고 몇몇 VARCHAR와 VARIANT 값을 삽입해요.

CREATE TABLE sample_json_table (ID INTEGER, varchar1 VARCHAR, variant1 VARIANT);
INSERT INTO sample_json_table (ID, varchar1) VALUES 
 (1, '{"ValidKey1": "ValidValue1"}'),
 (2, '{"Malformed -- Missing value": }'),
 (3, NULL)
 ;
UPDATE sample_json_table SET variant1 = varchar1::VARIANT;

CHECK_JSON 함수를 사용해 VARCHAR 열의 잠재적 JSON 호환 문자열의 유효성을 확인해요.

SELECT ID, CHECK_JSON(varchar1), varchar1 FROM sample_json_table ORDER BY ID;
+----+----------------------+----------------------------------+
| ID | CHECK_JSON(VARCHAR1) | VARCHAR1                        |
|----+----------------------+----------------------------------|
|  1 | NULL                 | {"ValidKey1": "ValidValue1"}    |
|  2 | misplaced }, pos 32  | {"Malformed -- Missing value": } |
|  3 | NULL                 | NULL                             |
+----+----------------------+----------------------------------+

CHECK_JSON 함수를 사용해 VARIANT 열의 잠재적 JSON 호환 문자열의 유효성을 확인해요.

SELECT ID, CHECK_JSON(variant1), variant1 FROM sample_json_table ORDER BY ID;
+----+----------------------+--------------------------------------+
| ID | CHECK_JSON(VARIANT1) | VARIANT1                             |
|----+----------------------+--------------------------------------|
|  1 | NULL                 | "{\"ValidKey1\": \"ValidValue1\"}"   |
|  2 | misplaced }, pos 32  | "{\"Malformed -- Missing value\": }" |
|  3 | NULL                 | NULL                                 |
+----+----------------------+--------------------------------------+

더 알아보기