JSONAsString 형식

JSONAsString 형식

JSONAsString 형식은 단일 JSON 객체를 하나의 값으로 해석해요. 입력에 여러 JSON 객체(쉼표로 구분)가 있으면 각각 별도의 행으로 해석되고, 입력 데이터가 []로 감싸져 있으면 JSON 객체 배열로 해석됩니다. 이 형식은 String 타입의 단일 필드를 가진 테이블에서만 파싱할 수 있어요.

출처: 문서

본문

Input Output Alias

설명 (Description)

이 형식에서는 단일 JSON 객체가 하나의 값으로 해석됩니다. 입력에 여러 JSON 객체(쉼표로 구분)가 있으면 각각 별도의 행으로 해석되고, 입력 데이터가 []로 감싸져 있으면 JSON 객체 배열로 해석됩니다.

이 형식은 String 타입의 단일 필드를 가진 테이블에서만 파싱할 수 있습니다. 나머지 컬럼은 DEFAULT 또는 MATERIALIZED로 설정하거나 생략해야 합니다. 전체 JSON 객체를 String으로 직렬화한 다음 JSON 함수를 사용해 처리할 수 있어요.

사용 예시 (Example usage)

기본 예시 (Basic example)

Query``` DROP TABLE IF EXISTS json_as_string; CREATE TABLE json_as_string (json String) ENGINE = Memory; INSERT INTO json_as_string (json) FORMAT JSONAsString {"foo":{"bar":{"x":"y"},"baz":1}},{},{"any json stucture":1} SELECT * FROM json_as_string;


Response```
┌─json──────────────────────────────┐
│ {"foo":{"bar":{"x":"y"},"baz":1}} │
│ {}                                │
│ {"any json stucture":1}           │
└───────────────────────────────────┘

JSON 객체 배열 (An array of JSON objects)

Query``` CREATE TABLE json_square_brackets (field String) ENGINE = Memory; INSERT INTO json_square_brackets FORMAT JSONAsString [{"id": 1, "name": "name1"}, {"id": 2, "name": "name2"}];

SELECT * FROM json_square_brackets;


Response```
┌─field──────────────────────┐
│ {"id": 1, "name": "name1"} │
│ {"id": 2, "name": "name2"} │
└────────────────────────────┘

형식 설정 (Format settings)

더 알아보기 (Learn more)