forked from xuos/xiuos
Merge branch '2023_open_source_contest' of https://gitlink.org.cn/hc0014/xiuos into 2023_open_source_contest
This commit is contained in:
85
APP_Framework/lib/cJSON/cJSON_Process.c
Normal file
85
APP_Framework/lib/cJSON/cJSON_Process.c
Normal file
@@ -0,0 +1,85 @@
|
||||
#include "cJSON_Process.h"
|
||||
#include <lwip/sockets.h>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cJSON* cJSON_Data_Init(void)
|
||||
{
|
||||
cJSON* cJSON_Root = NULL; //json根节点
|
||||
|
||||
|
||||
cJSON_Root = cJSON_CreateObject(); /*创建项目*/
|
||||
if(NULL == cJSON_Root)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
cJSON_AddStringToObject(cJSON_Root, NAME, DEFAULT_NAME); /*添加元素 键值对*/
|
||||
cJSON_AddNumberToObject(cJSON_Root, TEMP_NUM, DEFAULT_TEMP_NUM);
|
||||
cJSON_AddNumberToObject(cJSON_Root, HUM_NUM, DEFAULT_HUM_NUM);
|
||||
|
||||
char* p = cJSON_Print(cJSON_Root); /*p 指向的字符串是json格式的*/
|
||||
|
||||
p = NULL;
|
||||
|
||||
return cJSON_Root;
|
||||
|
||||
}
|
||||
uint8_t cJSON_Update(const cJSON * const object,const char * const string,void *d)
|
||||
{
|
||||
cJSON* node = NULL; //json根节点
|
||||
node = cJSON_GetObjectItem(object,string);
|
||||
if(node == NULL)
|
||||
return 0;
|
||||
if(cJSON_IsBool(node))
|
||||
{
|
||||
int *b = (int*)d;
|
||||
|
||||
cJSON_GetObjectItem(object,string)->type = *b ? cJSON_True : cJSON_False;
|
||||
|
||||
return 1;
|
||||
}
|
||||
else if(cJSON_IsString(node))
|
||||
{
|
||||
cJSON_GetObjectItem(object,string)->valuestring = (char*)d;
|
||||
|
||||
return 1;
|
||||
}
|
||||
else if(cJSON_IsNumber(node))
|
||||
{
|
||||
double *num = (double*)d;
|
||||
|
||||
cJSON_GetObjectItem(object,string)->valuedouble = (double)*num;
|
||||
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
|
||||
void Proscess(void* data)
|
||||
{
|
||||
|
||||
cJSON *root,*json_name,*json_temp_num,*json_hum_num;
|
||||
root = cJSON_Parse((char*)data); //解析成json形式
|
||||
|
||||
json_name = cJSON_GetObjectItem( root , NAME); //获取键值内容
|
||||
json_temp_num = cJSON_GetObjectItem( root , TEMP_NUM );
|
||||
json_hum_num = cJSON_GetObjectItem( root , HUM_NUM );
|
||||
|
||||
lw_print("name:%s\n temp_num:%f\n hum_num:%f\n",
|
||||
json_name->valuestring,
|
||||
json_temp_num->valuedouble,
|
||||
json_hum_num->valuedouble);
|
||||
|
||||
cJSON_Delete(root); //释放内存
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user