发送和接收时使用的JSON格式

本节将介绍 criAcApiClient_Call 函数和 criAcApiClient_GetResponseBuffer 函数所使用的JSON格式的命令字符串。

用于发送时的JSON格式

发送时使用的JSON格式是,第一层是以 "request" 为键的对象。
"request" 对象指定如下值。

补充说明
"version""1.0.0" 当前固定为 "1.0.0"
"module""project", "preview", "build", "debug""error" 其中之一 指定与函数相对应的模块名称
"function"函数名称

需要在函数中添加参数时,请创建以 "arguments" 为键的对象,然后为该对象指定键和值。
所有参数值均以字符串格式进行指定。

例如,使用 create_aisac_graph 函数以JSON格式的命令字符串编写如下。

{
"request": {
"version": "1.0.0",
"module": "project",
"function": "create_aisac_graph",
"arguments": {
"aisac": "f7ff7a55-03c4-43d0-bc4d-d6723873b7d1",
"graph_type": "Volume"
}
}
}

本节教程为了便于查看,对每行的开头进行了缩进,但在实际发送时不需要缩进显示。
也就是说,也可以发送以下字符串。

{"request":{"version":"1.0.0","module":"project","function":"create_aisac_graph","arguments":{"aisac":"f7ff7a55-03c4-43d0-bc4d-d6723873b7d1","graph_type":"Volume"}}}


用于接收时的JSON格式

接收时使用的 JSON 格式是,第一层是以 "response" 为键的对象。
"response" 对象中含有如下值。

补充说明
"version""1.0.0" 当前固定为 "1.0.0"
"module""project", "preview", "build", "debug""error" 其中之一 指定与函数相对应的模块名称
"function"函数名称
"status""success""error"
"message"错误文本 为空时则为空
"data"函数返回值 为空时则为空

"status" 键的值为 "error" 时将包含"message" 键的值。
在函数有返回值时将包含"data" 键的值。

例如,用 criAcApiClient_GetResponseBuffer 函数接收 create_aisac_graph 函数的执行结果所能获得的字符串是以下JSON格式。

{
"response": {
"version": "1.0.0",
"module": "project",
"function": "create_aisac_graph",
"status": "success",
"message": "",
"data": "4e6e17fe-f763-45d7-b72d-eafae4af6d10"
}
}

本节教程为了便于查看,对每行的开头进行了缩进,但实际接收的字符串不会缩进显示。
在本示例中,实际会接收如下字符串。

{"response":{"version":"1.0.0","module":"project","function":"create_aisac_graph","status":"success","message":"","data":"4e6e17fe-f763-45d7-b72d-eafae4af6d10"}}


JSON 数据的字符编码

CRI Atom Craft Robot通过机器人接收到的CRI Atom Craft JSON 数据被处理为“**UTF-8**”。
从其他编程语言发送和接收 JSON 数据时,必须使用 UTF-8 编码文本。