[]
ISchemaOption의 type 속성은 데이터 원본을 어떻게 구문 분석할지 정의합니다.
이 속성은 fetch() 중 IDataSourceOption에 제공된 data 값이 어떻게 해석될지를 결정합니다.
type을 지정하지 않으면 기본값은 "json"입니다.
const table = dataManager.addTable("products", {
data: [
{ id: 1, name: "Laptop", price: 1200 }
],
schema: {
type: "json"
}
});다음 값이 지원됩니다.
형식 | 설명 |
|---|---|
| 데이터를 JSON 배열로 구문 분석합니다(기본값). |
| 데이터를 CSV 문자열로 구문 분석합니다. |
| 데이터를 XML 문자열로 구문 분석합니다. |
| 열 기반 JSON 데이터를 구문 분석합니다. |
type이 "json"인 경우(또는 지정하지 않은 경우):
data는 객체 배열이어야 합니다.
schema.columns가 정의되지 않은 경우 객체 키를 기반으로 열이 자동 생성됩니다.
예제:
const table = dataManager.addTable("employees", {
data: [
{ id: 1, name: "Alice" },
{ id: 2, name: "Bob" }
]
});추가 구성은 필요하지 않습니다.
"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"을 사용하는 경우:
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"을 사용하는 경우:
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 내에서 별도로 구성됩니다.