##首先需要添加下载cJSON库文件
链接:GitHub - DaveGamble/cJSON: Ultralightweight JSON parser in ANSI C
然后添加文件到工程中,修改test,c文件
示例代码:
void send_json()
{
// 假设的变量值
char hostID[] = "00000001";
char terminalID[] = "00000001";
int temperature = 24;
char smoke[] = "No";
int CO = 0;
char burntSmell[] = "0";
char selfExtinguishing[] = "No";
// 创建根对象
cJSON *root = cJSON_CreateObject();
// 向JSON对象中添加数据
cJSON_AddItemToObject(root, "Host ID", cJSON_CreateString(hostID));
cJSON_AddItemToObject(root, "Terminal ID", cJSON_CreateString(terminalID));
cJSON_AddItemToObject(root, "Msg Type", cJSON_CreateString(smoke));
cJSON_AddItemToObject(root, "Instr SN", cJSON_CreateString("007"));
cJSON_AddItemToObject(root, "Instr Type", cJSON_CreateString("Query Terminal"));
cJSON_AddItemToObject(root, "Instr Echo", cJSON_CreateString("Reply OK"));
cJSON_AddItemToObject(root, "Temperature", cJSON_CreateNumber(24));
cJSON_AddItemToObject(root, "Smoke", cJSON_CreateString(smoke));
cJSON_AddItemToObject(root, "CO", cJSON_CreateNumber(CO));
cJSON_AddItemToObject(root, "Burnt Smell", cJSON_CreateNumber(burnsmell));
cJSON_AddItemToObject(root, "Self-extinguishing", cJSON_CreateString());
// 将JSON结构转化为字符串
char *json_data = cJSON_Print(root);
if (json_data)
{
// 发送JSON字符串
LoRa_Send(json_data, rt_strlen(json_data));
// 释放cJSON_Print分配的内存
cJSON_free(json_data);
}
// 删除cJSON对象,释放内存
cJSON_Delete(root);
}
最后看实际情况修改栈区空间大小