C JSON非第三方庫是一種用C語言編寫的開源JSON解析器。它支持解析JSON數(shù)據(jù)并將其轉(zhuǎn)換為C語言中的數(shù)據(jù)類型,同時(shí)也可以將C語言中的數(shù)據(jù)類型序列化成JSON格式的字符串。這個(gè)庫非常小巧,只有一個(gè).c文件和一個(gè).h文件,使用起來非常方便。
#include "cJSON.h"
int main()
{
// 創(chuàng)建一個(gè)JSON對(duì)象
cJSON *json = cJSON_CreateObject();
// 向JSON對(duì)象中添加鍵值對(duì)
cJSON_AddStringToObject(json, "name", "張三");
cJSON_AddNumberToObject(json, "age", 28);
cJSON_AddBoolToObject(json, "isMarried", true);
// 序列化JSON對(duì)象為字符串
char *str = cJSON_Print(json);
printf("%s\n", str);
// 釋放內(nèi)存
cJSON_Delete(json);
free(str);
return 0;
}
以上是使用cJSON創(chuàng)建一個(gè)JSON對(duì)象并將其轉(zhuǎn)換為字符串的代碼示例。通過cJSON_CreateObject()函數(shù)創(chuàng)建一個(gè)空的JSON對(duì)象,然后使用cJSON_AddXXXToObject()函數(shù)向JSON對(duì)象中添加鍵值對(duì)。最后使用cJSON_Print()函數(shù)將JSON對(duì)象序列化為字符串。在使用完JSON對(duì)象和序列化字符串后,需要使用cJSON_Delete()函數(shù)釋放JSON對(duì)象的內(nèi)存并使用free()函數(shù)釋放序列化字符串的內(nèi)存。
C JSON非第三方庫還有許多其他的功能,比如解析JSON字符串為JSON對(duì)象、從JSON對(duì)象中獲取值、以及對(duì)JSON對(duì)象進(jìn)行修改等。除此之外,它還支持生成和解析JSON數(shù)組、使用鏈?zhǔn)讲僮鞯雀呒?jí)功能。因此,對(duì)于使用C語言編寫JSON解析器的開發(fā)人員來說,C JSON非第三方庫是一個(gè)非常不錯(cuò)的選擇。