JSON的创建与解析
最近做一个物联网项目,需要用到数据解析,通过阿里云下发字符串给我们设备,采用mqtt协议接收字符串后需要解析字符串,分别提取下发字符串内容,项目中使用 JSON的方式解析,初次接触,在此记录。
一.JSON介绍
c语言中,没有任何可以直接解析字符串到数据结构的函数接口,如果需要解析字符串,自己通过strstr(),strchr(),strtok_r()等函数通过自己逻辑封装函数太过麻烦,由此,我们引入了JSON解析方法,
一种方法是移植下JSON的库,将库移植到我们的程序中;
二种方法,下载cJSON.c,cJSON.h 源码,加入我们的代码,只需在我们的代码中加上cJSON头文件即可。
下载链接:https://sourceforge.net/projects/cjson/
在线json校验格式化工具:http://www.bejson.com/
二.JSON主要函数的介绍
cJSON cJSON_CreateObject() --》
此函数是用来创建一个json对象,返回的是一个 cJSON的指针,注意,在这个指针用完了以后,需要手工调用 cJSON_Delete(), 进行内存回收。
void cJSON_Delete(cJSON *c) --》
释放cjson指针,进行内存回收。
cJSON_createArray() --》
创建一个数组 ,返回一个cJSON指针。
cJSON *cJSON_CreateNumber(double num) --》
创建一个数字类型数据
cJSON *cJSON_CreateString(const char *string) -