Dataset 오브젝트 데이터를 JSON(JavaScript Object Notation) 형태로 처리하기 위한 레이아웃을 설명합니다.
Dataset JSON layout
Dataset JSON는 아래와 같은 형식으로 구성합니다.
항목 | 필수 |
---|---|
version | O |
Parameters | X |
Datasets | X |
version
Dataset Layout 의 버전을 명시합니다.
"version" : "1.0",
Parameters
파라미터의 값을 명시합니다.
"Parameters": [ {"id": "ErrorCode", "value":0}, {"id": "ErrorMsg", "value":""}, {"id": "param1", "value":0}, {"id": "param2", "value":"0", "type":"string"} ]
속성명 | 필수 | 설명 |
---|---|---|
id | O | 파라미터명을 설정합니다. "ErrorCode", "ErrorMsg" 항목은 예약된 키워드입니다. "ErrorCode" 항목을 지정하지 않은 경우 value는 0으로 처리합니다. "ErrorMsg" 항목을 지정하지 않은 경우 "ErrorCode" value가 0이면 "SUCCESS", 그 외의 값이면 "FAILED:로 처리합니다. |
value | X | Integer, Float, String |
type | X | 데이터 타입을 설정합니다. type 항목을 참고하세요. |
"ErrorCode", "ErrorMsg" 항목은 예약된 키워드입니다.
"ErrorCode" 항목을 지정하지 않은 경우 0으로 처리합니다.
"ErrorMsg" 항목을 지정하지 않은 경우 "ErrorCode" 항목값이 0이면 "SUCCESS", 그 외의 값이면 "FAILED:로 처리합니다.
Datasets
Dataset 오브젝트 정보를 포함하는 요소로 배열 내 오브젝트 형태로 Dataset을 가지고 있습니다.
Dataset
하나의 Dataset 오브젝트 정보를 가지고 있는 요소로 Dataset 오브젝트의 구조를 표현하기 위한 ColumnInfo와 Dataset 오브젝트의 실제 데이터를 가지고 있는 Rows가 포함됩니다.
항목 | 필수 | |
---|---|---|
id | O | |
ColumnInfo | O | |
ConstColumn | X | |
Column | O | |
Rows | O |
Dataset 형식 상세
Dataset의 각 항목을 설명합니다.
id
"id":"inData"
속성명 | 필수 | 설명 |
---|---|---|
id | O | Dataset 오브젝트 id 속성값입니다. |
ColumnInfo > ConstColumn
"ColumnInfo": { "ConstColumn": [ {"id":"ConstCol1", "value":10}, {"id":"ConstCol2", "type":"string", "size":"256", "value":10}, {"id":"ConstCol3"} ] }
속성명 | 필수 | 설명 |
---|---|---|
id | O | Dataset 오브젝트에서 Const Column ID로 사용할 ID 값입니다. |
type | X | 데이터 타입을 설정합니다. type 항목을 참고하세요. |
size | X | 최대 데이터 크기를 설정합니다. 생략한 경우 Type에 따른 임계치로 처리합니다. 단, type이 "STRING"인 경우에는 255로 처리합니다. |
value | X | 고정값을 설정합니다. 설정하지 않으면 undefined로 처리됩니다. |
ColumnInfo > Column
"ColumnInfo": { "Column" : [ {"id":"Column0"}, {"id":"Column1", "type":"string", "size":"256"}, {"id":"Column2", "type":"string", "size":"256"} ] }
속성명 | 필수 | 설명 |
---|---|---|
id | O | Dataset에서 Column ID로 사용할 ID 값입니다. |
type | X | 데이터 타입을 설정합니다. 생략한 경우 "STRING"으로 처리합니다. type 항목을 참고하세요. |
size | X | 최대 데이터 크기를 설정합니다. 생략한 경우 Type에 따른 임계치로 처리합니다. 단, type이 "STRING"인 경우에는 255로 처리합니다. |
prop | X | ColumnInfo 오브젝트의 prop 속성값을 설정합니다. |
sumtext | X | ColumnInfo 오브젝트의 sumtext 속성값을 설정합니다. |
Rows
"Rows": [ {"_RowType_":"U", "Column0":"", "Column1":"zzz", "Column2":""}, {"_RowType_":"O", "Column0":"", "Column2":""}, {"_RowType_":"N", "Column0":"A", "Column1":"B", "Column2":""}, {"_RowType_":"D", "Column0":"a", "Column1":"b", "Column2":"c"}, {"_RowType_":"I", "Column0":"", "Column1":"", "Column2":""} ] "Rows": [ {"Column0":"A", "Column1":"B"}, {"Column0":"a", "Column1":"b", "Column2":"c"}, {"Column0":"", "Column1":"", "Column2":""} ]
속성명 | 필수 | 설명 |
---|---|---|
_RowType_ | X | 레코드 형태를 설정합니다. N: Normal Record (Default) I: Inserted Record U: Updated Record D: Deleted Record O: Original Record (Update Record의 원본 레코드입니다) |
<ConstColumn id> | X | ConstColumn 값을 설정합니다. |
<Column id> | O | Column 값을 설정합니다. |
Row 데이터는 순서에 의미를 가집니다.
_RowType_ 속성값이 “O” 인 경우는 바로 앞 Row 의 Original row 임을 의미합니다.
바로 앞의 _RowType_ 속성값이 “U” 인 경우에만 정상 동작합니다.
_RowType_ 속성값이 “O”이고 바로 앞 Row 의 _RowType_ 속성값이 "U"가 아닌 경우 해당 Row는 무시합니다. 또한 첫번째 row의 _RowType_ 속성값이 “O” 인 경우에도 Row는 무시됩니다.
참고
type
Parameters, ConstColumn, Column에서 type 항목에 사용할 수 있는 값은 아래와 같습니다.
Parameters, ConstColumn의 경우 설정하지 않으면 value에 따라 Integer, Float의 경우에는 type이 "INT", "FLOAT"로 처리되고 그 외에는 "STRING"으로 처리됩니다.
Type | 설명 |
---|---|
STRING | 문자열. 최대값은 system에서 한번에 할당 가능한 크기인 2GB로 제한됨 Column의 size와 관계없이 최대치까지 사용될 수 있다. |
INT | 정수형 (-231 ~ 231-1) |
FLOAT, DECIMAL | 실수형 (±2.2X10-308 ~ ±1.7X10308) |
BIGDECIMAL | 실수형(문자열로 저장) (±10-1056 ~ ±10+1056) |
DATE | 날짜형 YYYYMMDD (-8192/01/01 ~ 8191/12/31) |
DATETIME | YYYYMMDDHHmmssuuu (msec포함가능) |
TIME | 6자리 HHmmssuuu(msec포함가능) |
BLOB | 이진 데이터 |
JSON 예
{ "version" : "1.0", "Parameters": [ {"id":"ErrorCode", "value":0}, {"id":"ErrorMsg", "value":""}, {"id":"param1", "value":0}, {"id":"param2", "value":"0", "type":"string"} ], "Datasets" : [ { "id":"indata", "ColumnInfo": { "ConstColumn": [ {"id":"ConstCol1", "value":10}, {"id":"ConstCol2", "type":"string", "size":"256", "value":10}, {"id":"ConstCol3"} ], "Column" : [ {"id":"Column0"}, {"id":"Column1", "type":"string", "size":"256"}, {"id":"Column2", "type":"string", "size":"256"} ] }, "Rows": [ {"_RowType_":"U", "Column0":"", "Column1":"zzz", "Column2":""}, {"_RowType_":"O", "Column0":"", "Column2":""}, {"_RowType_":"N", "Column0":"A", "Column1":"B", "Column2":""}, {"_RowType_":"D", "Column0":"a", "Column1":"b", "Column2":"c"}, {"_RowType_":"I", "Column0":"", "Column1":"", "Column2":""} ] }, { "id": "indata2", "ColumnInfo": { "Column": [ {"id":"Column0"}, {"id":"Column1", "type":"string", "size":"256"}, {"id":"Column2", "type":"string", "size":"256"} ] }, "Rows": [ {"Column0":"A", "Column1":"B"}, {"Column0":"a", "Column1":"b", "Column2":"c"}, {"Column0":"", "Column1":"", "Column2":""} ] } ] }