在C語言中,我們經(jīng)常需要處理JSON格式的數(shù)據(jù),而JSON格式是一種方便快捷的數(shù)據(jù)交換方式,它使用字符串來表示數(shù)據(jù)。
在處理JSON數(shù)據(jù)時(shí),需要將字符串解析為JSON格式的數(shù)據(jù)結(jié)構(gòu),或?qū)SON格式的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為字符串。下面介紹如何使用C語言中的字符串與JSON數(shù)據(jù)之間的轉(zhuǎn)換。
// 安裝cJSON庫 #include "cJSON.h" int main() { char *jsonStr = "{ \"name\": \"Tom\", \"age\": 18 }"; // 定義一個(gè)JSON字符串 cJSON *root = cJSON_Parse(jsonStr); // 解析JSON字符串為cJSON對象 // 獲取JSON對象中的值 char *name = cJSON_GetObjectItem(root, "name")->valuestring; int age = cJSON_GetObjectItem(root, "age")->valueint; printf("name: %s, age: %d\n", name, age); // 創(chuàng)建cJSON對象并設(shè)置值 cJSON *root2 = cJSON_CreateObject(); cJSON_AddItemToObject(root2, "name", cJSON_CreateString("Jerry")); cJSON_AddItemToObject(root2, "age", cJSON_CreateNumber(20)); char *jsonStr2 = cJSON_PrintUnformatted(root2); // 將cJSON對象轉(zhuǎn)換成JSON字符串 printf("jsonStr2: %s\n", jsonStr2); cJSON_Delete(root); // 釋放cJSON對象內(nèi)存 cJSON_Delete(root2); return 0; }
CJSON是一個(gè)輕量級的C語言JSON解析庫,可以很方便地解析JSON字符串為cJSON對象,并且可以將cJSON對象轉(zhuǎn)換為JSON字符串。通過使用cJSON庫,我們可以輕松地在C語言中處理JSON格式的數(shù)據(jù)。