JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式。在C語言中,我們可以通過使用第三方庫來操作JSON對象。這里我們介紹一個(gè)常用的C JSON庫,它叫做 cJSON。
// 示例代碼 #include "cJSON.h" #includeint main() { // 創(chuàng)建一個(gè)JSON對象 cJSON *person = cJSON_CreateObject(); // 給JSON對象賦值 cJSON_AddStringToObject(person, "name", "Tom"); cJSON_AddNumberToObject(person, "age", 18); cJSON_AddTrueToObject(person, "male"); // 將JSON對象轉(zhuǎn)換為字符串,并輸出 char *personStr = cJSON_Print(person); printf("%s\n", personStr); // 釋放JSON對象和字符串 cJSON_Delete(person); free(personStr); return 0; }
cJSON庫提供了很多方法來創(chuàng)建JSON對象,比如“cJSON_CreateObject”可以創(chuàng)建一個(gè)空的JSON對象?!癱JSON_AddStringToObject”可以給JSON對象添加一個(gè)字符串類型的值?!癱JSON_AddNumberToObject”可以給JSON對象添加一個(gè)數(shù)字類型的值。另外,cJSON庫也提供了其他類型的添加方法,比如“cJSON_AddTrueToObject”可以添加一個(gè)布爾類型的true。
當(dāng)我們創(chuàng)建好了JSON對象之后,可以將其轉(zhuǎn)換為字符串類型,以便我們進(jìn)行傳輸和存儲(chǔ)。cJSON庫提供了“cJSON_Print”函數(shù)來將一個(gè)JSON對象轉(zhuǎn)換為字符串類型。需要注意的是,在使用完JSON對象和字符串后,一定要通過“cJSON_Delete”和“free”函數(shù)來銷毀它們,以防止內(nèi)存泄漏。