DatasetオブジェクトのデータをJSON(JavaScript Object Notation)形式で処理するためのレイアウトについて説明します。
Dataset JSON layout
Dataset JSONは下記の形式で構成します。
項目 | 必須 |
---|---|
version | ○ |
Parameters | ✕ |
Datasets | ✕ |
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 | ○ | パラメータ名を指定します。 "ErrorCode", "ErrorMsg"項目は予約済みキーワードです。 "ErrorCode"項目を未設定にした場合、valueを0として処理します。 "ErrorMsg"項目を未設定にした場合、"ErrorCode"のvalueが 0であれば「SUCCESS」、それ以外の値であれば「FAILED」として処理します。 |
value | ✕ | Integer、Float、String |
type | ✕ | データたタイプを指定します。 type 項目をご参照ください。 |
"ErrorCode", "ErrorMsg"項目は予約済みキーワードです。
"ErrorCode"項目を未設定にした場合は0として処理されます。
"ErrorMsg"項目を未設定にした場合、"ErrorCode"項目値が0であれば「SUCCESS」、それ以外の値であれば「FAILED」として処理されます。
Datasets
Datasetオブジェクトの情報を含む要素で、配列内のオブジェクト形式でDatasetを持ちます。
Dataset
1つのDatasetオブジェクトの情報を持つ要素で、Datasetオブジェクトの構造を表現するためのColumnInfoとDataset オブジェクトの実際のデータを持つRowsで構成されます。
項目 | 必須 | |
---|---|---|
id | ○ | |
ColumnInfo | ○ | |
ConstColumn | ✕ | |
Column | ○ | |
Rows | ○ |
Dataset形式の詳細
Datasetの各項目について説明します。
id
"id":"inData"
属性名 | 必須 | 説明 |
---|---|---|
id | ○ | Datasetオブジェクトのid属性値です。 |
ColumnInfo > ConstColumn
"ColumnInfo": { "ConstColumn": [ {"id":"ConstCol1", "value":10}, {"id":"ConstCol2", "type":"string", "size":"256", "value":10}, {"id":"ConstCol3"} ] }
属性名 | 必須 | 説明 |
---|---|---|
id | ○ | DatasetオブジェクトでConst Column IDとして使用するID値です。 |
type | ✕ | データタイプを設定します。 type 項目をご参照ください。 |
size | ✕ | データの最大サイズを設定します。 省略した場合、Typeによる臨界値として処理します。 ただし、Typeが「STRING」である場合は255として処理します。 |
value | ✕ | 固定値を設定します。 未設定にした場合はundefinedとして処理します。 |
ColumnInfo > Column
"ColumnInfo": { "Column" : [ {"id":"Column0"}, {"id":"Column1", "type":"string", "size":"256"}, {"id":"Column2", "type":"string", "size":"256"} ] }
属性名 | 必須 | 説明 |
---|---|---|
id | ○ | DatasetオブジェクトでColumn IDとして使用するID値です。 |
type | ✕ | データタイプを設定します。 省略した場合、「STRING」として処理します。 type 項目をご参照ください。 |
size | ✕ | データの最大サイズを設定します。 省略した場合、Typeによる臨界値として処理します。 ただし、Typeが「STRING」である場合は255として処理します。 |
prop | ✕ | ColumnInfoオブジェクトのprop属性値を設定します。 |
sumtext | ✕ | 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」である場合は、1つ前のRowのOriginal rowを意味します。
1つ前の_RowType_属性値「U」である場合にのみ正常動作します。
_RowType_属性値が「O」であり、且つ1つ前のRowの_RowType_属性値が「U」以外の値である場合は、該当のRowは無視されます。また、1つ目のrowの_RowType_属性値が「O」である場合も、該当のRowは無視されます。
参考
type
Parameters、ConstColumn、Columnでtype項目値として使用できる値は下記の通りです。
Parameters、ConstColumnでは、未設定にすると、valueによってIntegerとFloatの場合はtypeが それぞれ「INT」と「FLOAT」として処理され、それ以外の場合は「STRING」として処理されます。
Type | 説明 |
---|---|
STRING | 文字列 最大値はシステムで一度に割り当てられるサイズである2GBに制限されます。 Columnのサイズに関係なく最大値まで使用できます。 |
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":""} ] } ] }