[]
        
(Showing Draft Content)

스키마 형식

ISchemaOptiontype 속성은 데이터 원본을 어떻게 구문 분석할지 정의합니다.

이 속성은 fetch()IDataSourceOption에 제공된 data 값이 어떻게 해석될지를 결정합니다.

type을 지정하지 않으면 기본값은 "json"입니다.

const table = dataManager.addTable("products", {
    data: [
        { id: 1, name: "Laptop", price: 1200 }
    ],
    schema: {
        type: "json"
    }
});

지원되는 형식

다음 값이 지원됩니다.

형식

설명

"json"

데이터를 JSON 배열로 구문 분석합니다(기본값).

"csv"

데이터를 CSV 문자열로 구문 분석합니다.

"xml"

데이터를 XML 문자열로 구문 분석합니다.

"columnJson"

열 기반 JSON 데이터를 구문 분석합니다.

JSON(기본값)

type"json"인 경우(또는 지정하지 않은 경우):

  • data는 객체 배열이어야 합니다.

  • schema.columns가 정의되지 않은 경우 객체 키를 기반으로 열이 자동 생성됩니다.

예제:

const table = dataManager.addTable("employees", {
    data: [
        { id: 1, name: "Alice" },
        { id: 2, name: "Bob" }
    ]
});

추가 구성은 필요하지 않습니다.

CSV

"csv"를 사용하는 경우:

  • data는 CSV 문자열이어야 합니다.

  • 문자열은 fetch() 중에 구문 분석됩니다.

예제:

const table = dataManager.addTable("orders", {
    data: `id,name,amount
1,Alice,100
2,Bob,200`,
    schema: {
        type: "csv"
    }
});

type"csv"로 설정하지 않으면 문자열은 CSV로 구문 분석되지 않습니다.

XML

"xml"을 사용하는 경우:

  • data는 XML 문자열이어야 합니다.

  • 구문 분석은 fetch() 중에 수행됩니다.

  • 대부분의 경우 레코드 컬렉션 위치를 찾기 위해 dataPath를 지정해야 합니다.

예제:

const table = dataManager.addTable("orders", {
    data: `
<root>
    <row><id>1</id><name>Alice</name></row>
    <row><id>2</id><name>Bob</name></row>
</root>
`,
    schema: {
        type: "xml",
        dataPath: "root.row"
    }
});

구문 분석된 XML 데이터에서 레코드 컬렉션을 선택하는 방법에 대한 자세한 내용은 스키마의 DataPath를 참고하세요.

ColumnJson

"columnJson"을 사용하는 경우:

  • data는 속성이 열을 나타내는 객체여야 합니다.

  • 각 속성은 값 배열을 포함합니다.

  • 행은 인덱스를 기준으로 값을 정렬하여 구성됩니다.

예제:

const table = dataManager.addTable("employees", {
    data: {
        id: [1, 2, 3],
        name: ["Alice", "Bob", "Cindy"],
        age: [24, 26, 25]
    },
    schema: {
        type: "columnJson"
    }
});

fetch() 중 열 기반 구조는 행 기반 레코드로 변환됩니다.

스키마 형식을 반드시 지정해야 하는 경우

다음과 같은 경우 schema.type을 명시적으로 지정해야 합니다.

  • data 값이 CSV 문자열인 경우

  • data 값이 XML 문자열인 경우

  • data 값이 열 기반 JSON인 경우

표준 JSON 배열의 경우 "json" 지정은 선택 사항입니다.


이 속성은 데이터가 구문 분석되는 방식에만 영향을 줍니다.

열 정의, 데이터 동작 및 계층 구조는 schema 내에서 별도로 구성됩니다.