# Common JSON Objects
Version: 1.0 | Release Date: 30/6/2018
This section introduces common JSON objects accepted or returned by M18 in various web service requests.
# SqlTable
SqlTable is a Java Class
widely used by M18. You can see its detailed source code in Github (opens new window).
If your programming language is Java, you can use the class definitions obtained on github to convert JSON directly into Java classes for subsequent operations. Its JSON format is shown below:
The SqlTable JSON:
{
"name":"test", //SqlTable name
"size":2, //The row count
"fields":[ //The fields info of the table
{
"name":"id", // Field name
"fieldClassName":"Long", // Class name of the field
"fieldClass":"java.lang.Long", // Field class
"classType":10
},
{
"name":"code",
"fieldClassName":"String",
"fieldClass":"java.lang.String",
"classType":0
},
{
"name":"lastModifyDate",
"fieldClassName":"Date",
"fieldClass":"java.util.Date",
"classType":21
}],
"values":[ //The values of the field
{
"id":3,
"code":"AS0221",
"lastModifyDate":"2017-10-25 12:06:34"
},
{
"id":2,
"code":"DS22",
"lastModifyDate":"2017-10-19 09:37:10"
}]
}
The parameters of SqlTable:
Name | Type | Description |
---|---|---|
name | String | SqlTable name (as stated in data dictionary) |
size | int | The row count |
fields | JSON Array | The fields info of the table |
values | JSON Array | The values of the field |
# SqlEntity
SqlEntity is a JSON object representing data of a record in a module in M18. Notice that a SqlEntity can contain many SqlTables.
The SqlEntity JSON:
{
"moduleType":"employee", //Module name
"mainTableName":"employee", //The main table of the module
"subTableNames":"employeepic;employee_attach", // Sub table name list,separate by ";"
"employee": a sqlTable to json string , //The json can refer to the above sqltable
"employeepic": a sqlTable to json string ,
"employee_attach" : a sqlTable to json string
}
The parameters of SqlEntity:
Name | Type | Description |
---|---|---|
moduleType | String | Module type (as stated in Data Dictionary) |
mainTableName | String | The main table of the module |
subTableNames | String | Sub table name list, separated by semicolon ; |
the name of mainTable | SqlTable json string | The SqlTable JSON |
the name of subTable1 | SqlTable json string | The SqlTable JSON |
the name of subTable2 | SqlTable json string | The SqlTable JSON |
... | ... | ... |
# CheckMsg
CheckMsg is a JSON object representing the result info/ messages of various web services in M18.
The CheckMsg JSON:
{
"id":101905,
"key":"core_101905",
"pass":false, //When the operation is success, it will be yes;
"type":"Error", //It can be "Error","Info","Warning"
"info":"required. field(module.required)", //Info show to ap
"info_desc":"Required field is empty.", //Info show to user
"exception":"", //If an exception occurs,exception message will write here.
"htmlMessage":false,
"jsonStr":"",
"locators":[ //You can find which table and column are wrong with these infos;
{
"colName":"desc",
"id":0,
"locatorKey":"employee.desc",
"row":0, //Row is only for footer table,for headerTable the row should 0
"tableName":"employee",
"type":"Field"
},
{
"colName":"dept",
"id":0,
"locatorKey":"employee.dept",
"row":0,
"tableName":"employee",
"type":"Field"
}],
"trace":"[ModuleChecker.checkFieldDataDictSetting_458]-[CheckerLib.runChecker_225]-[CawEntityCurdAction.updateEntity_107]-[CawEntityInterceptor.logCall_42]-[view24.updateEntity_-1]" //You can trace the error in java code with this info.
}
The parameters of CheckMsg:
Name | Type | Description |
---|---|---|
id | long | Unique in one app |
key | String | Unique in one app |
pass | boolean | When the operation is success, it will be yes |
type | String | Message type |
info | String | The JSON can refer to the above SqlTable |
info_desc | String | The JSON can refer to the above SqlTable |
exception | String | Exception message |
htmlMessage | boolean | If the message use html code, it will be true |
jsonStr | json String | some special value |
locators | json Array | You can find which table and column are wrong with these infos |
trace | String | The info of java code which returns the error |
# Other Useful Class
M18 provides other common POJO class definitions and Util methods on Github (opens new window). If your programming language is Java, include these classes in your path.
- CheckResult
- EntityResult
- LocatorType
- MsgLocator
- MsgType
- SqlClassType
- SqlTableField
- SqlTableIterator
- Util