CJSON 是一個(gè) C 語(yǔ)言的 JSON 格式化庫(kù)。它可以將 JSON 格式的數(shù)據(jù)解析成 C 語(yǔ)言中的對(duì)象,也可以將 C 語(yǔ)言中的對(duì)象轉(zhuǎn)換成 JSON 格式的字符串。CJSON 的代碼簡(jiǎn)單易懂,適合在嵌入式系統(tǒng)等資源受限環(huán)境中使用。CJSON 的 API 也非常輕巧,非常適合初學(xué)者入門。
CJSON 庫(kù)主要由以下兩個(gè)函數(shù)組成:cJSON_Parse() 和 cJSON_Print()。分別用于解析 JSON 字符串和生成 JSON 字符串。cJSON_Parse() 函數(shù)接收一個(gè) JSON 格式的字符串為參數(shù),并返回一個(gè) cJSON 格式的對(duì)象。cJSON_Print() 函數(shù)接收一個(gè) cJSON 格式的對(duì)象為參數(shù),并返回生成的 JSON 格式的字符串。
cJSON *cJSON_Parse(const char *value); char *cJSON_Print(cJSON *item);
解析 JSON 字符串非常簡(jiǎn)單,只需要將一個(gè) JSON 格式的字符串傳入 cJSON_Parse() 函數(shù)即可。例如:
char *json_string = "{ \"name\": \"John\", \"age\": 30 }"; cJSON *json_object = cJSON_Parse(json_string);
上述代碼將一個(gè) JSON 格式的字符串解析成一個(gè) cJSON 格式的對(duì)象,該對(duì)象包含了兩個(gè)鍵值對(duì):name 和 age。生成 JSON 字符串同樣也非常簡(jiǎn)單,只需要將一個(gè) cJSON 格式的對(duì)象傳入 cJSON_Print() 函數(shù)即可。例如:
cJSON *json_object = cJSON_CreateObject(); cJSON_AddStringToObject(json_object, "name", "John"); cJSON_AddNumberToObject(json_object, "age", 30); char *json_string = cJSON_Print(json_object);
上述代碼將創(chuàng)建一個(gè) cJSON 格式的對(duì)象,設(shè)置其中的兩個(gè)鍵值對(duì):name 和 age。而后將該對(duì)象傳入 cJSON_Print() 函數(shù),生成一個(gè) JSON 格式的字符串。
總的來(lái)說(shuō),CJSON 是一款簡(jiǎn)單易用的 C 語(yǔ)言的 JSON 格式化庫(kù)。其 API 簡(jiǎn)明扼要,非常適合初學(xué)者,同時(shí)也適合在資源受限的系統(tǒng)中使用。