获取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

GitHub 加速计划 / cj / cJSON
15
5
下载
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:4 个月前 )
c859b25d 4 个月前
74e1ff49 this fixes CVE-2025-57052 4 个月前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐