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 | 整数 |
FLOAT, DECIMAL | 実数 |
BIGDECIMAL | Object Type(nexacro.Decimal) 実数型(10進数基準で最大31桁まで表現でき、整数部分は最大24桁まで、小数部分は最大15桁までサポートする) |
DATE | Object Type(nexacro.Date) 日付:YYYYMMDD (0000/01/01 ~ 9999/12/31) |
DATETIME | Object Type(nexacro.Date) 日時:YYYYMMDDHHmmssuuu (msecを含む) |
TIME | Object Type(nexacro.Date) 時刻: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":""}
]
}
]
}