获取josn,解析json
重要的接口函数:
1.cJSON *cJSON_Parse(const char *value);
解析JSON数据包,并按照cJSON结构体的结构序列化整个数据包。可以看做是获取一个句柄。
2.cJSON *cJSON_GetObjectItem(cJSON *object,const char *string);
功能:获取json指定的对象成员
参数:*objec:第一个函数中获取的句柄。
string:需要获取的对象
返回值:这个对象成员的句柄 如果json格式的对象成员直接就是字符串那么就可以直接通过结构体中的valuestring元素来获取这个成员的值
3.cJSON *cJSON_GetArrayItem(cJSON *array,int item);
功能:有可能第二个函数中获取到的是成员对象值是一个数组,那么就需要用到这个函数。用来获取这个数组指定的下标对象
参数:*array:传入第二步中返回的值
item:想要获取这个数组的下标元素
返回值:这个数组中指定下标的对象。然后在对这个返回值重复使用第二步函数就可以获取到各个成员的值了。
也就是说对象是数组的比是字符串的要多用一个cJSON_GetArrayItem函数,其他的没区别。
4.cJSON_Delete()
用来释放你第一步获取的句柄,来释放整个内存。用在解析完后调用
创建json–发送数据
cJSON_AddItemToArray(cJSON *array, cJSON *item)
cJSON_AddItemToObject(cJSON *object,const char *string,cJSON *item)
cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item)
cJSON_AddItemReferenceToObject(cJSON *object,const char *string,cJSON *item)
參考:https://www.cnblogs.com/piaoyang/p/9274925.html