CJSON是C語言中的JSON庫,它提供了方便的方式來將C語言的數(shù)據(jù)類型與JSON格式之間進(jìn)行轉(zhuǎn)換。CJSON庫可以將一個(gè)包含各種數(shù)據(jù)類型的C結(jié)構(gòu)體轉(zhuǎn)換為JSON格式的字符串,也可以將JSON格式的字符串轉(zhuǎn)換為一個(gè)C結(jié)構(gòu)體。使用CJSON,可以在C語言中方便地解析和生成JSON數(shù)據(jù)。
// 示例代碼: #include "cJSON.h" #include#include int main() { // 創(chuàng)建一個(gè)cJSON對象 cJSON *root = cJSON_CreateObject(); // 添加一個(gè)字符串類型的鍵值對 cJSON_AddStringToObject(root, "name", "Cynthia"); // 添加一個(gè)整數(shù)類型的鍵值對 cJSON_AddNumberToObject(root, "age", 20); // 添加一個(gè)布爾類型的鍵值對 cJSON_AddBoolToObject(root, "is_student", true); // 將cJSON對象轉(zhuǎn)換成JSON格式的字符串 char *str = cJSON_PrintUnformatted(root); printf("%s\n", str); // 解析JSON格式的字符串 cJSON *parsed = cJSON_Parse(str); printf("Name: %s\n", cJSON_GetObjectItem(parsed, "name")->valuestring); printf("Age: %d\n", cJSON_GetObjectItem(parsed, "age")->valueint); printf("Is student? %s\n", cJSON_GetObjectItem(parsed, "is_student")->valueint ? "True" : "False"); // 釋放內(nèi)存 cJSON_Delete(root); cJSON_Delete(parsed); free(str); return 0; }
通過使用CJSON庫,可以在C語言中輕松地使用JSON格式的數(shù)據(jù),從而在網(wǎng)絡(luò)傳輸、存儲等場景中得到廣泛應(yīng)用。