C JSON 是一種輕量級(jí)的數(shù)據(jù)交換格式,廣泛應(yīng)用于各種應(yīng)用程序之間的數(shù)據(jù)傳輸。C JSON 是一種純 C 語(yǔ)言實(shí)現(xiàn)的 JSON 解析器庫(kù)。其應(yīng)用范圍非常廣泛,可以方便地解析、生成各種 JSON 格式的數(shù)據(jù)。C JSON 的源碼極其簡(jiǎn)單,只需要一個(gè)頭文件和一個(gè) C 文件即可,使用起來(lái)也非常簡(jiǎn)單。
#include <stdio.h> #include <cjson/cJSON.h> int main() { char* json_string = "{ \"name\":\"Tom\", \"age\":20, \"gender\":\"male\" }"; cJSON* root = cJSON_Parse(json_string); if (!root) { printf("Error:%s\n", cJSON_GetErrorPtr()); return 1; } cJSON* name = cJSON_GetObjectItem(root, "name"); if (name) { printf("Name: %s\n", name->valuestring); } cJSON_Delete(root); return 0; }
在上面的代碼中,我們使用了 C JSON 解析器庫(kù)來(lái)解析一個(gè) JSON 字符串。首先我們需要引入 cjson/cJSON.h 頭文件,然后在 main 函數(shù)中定義一個(gè) JSON 字符串,并通過(guò) cJSON_Parse 函數(shù)將其解析為 cJSON 對(duì)象,如果解析失敗,則會(huì)返回一個(gè)空指針,并可以通過(guò) cJSON_GetErrorPtr 函數(shù)來(lái)獲取錯(cuò)誤的具體信息。
接著我們可以通過(guò) cJSON_GetObjectItem 函數(shù)來(lái)獲取 JSON 對(duì)象中的某個(gè)屬性,并通過(guò)其不同的類(lèi)型成員來(lái)獲取其對(duì)應(yīng)的具體值。
最后我們需要使用 cJSON_Delete 函數(shù)來(lái)釋放 cJSON 對(duì)象的內(nèi)存空間。
總的來(lái)說(shuō),C JSON 是一個(gè)簡(jiǎn)單易用、高效穩(wěn)定的 JSON 解析器庫(kù),可廣泛應(yīng)用于各種應(yīng)用程序之間的數(shù)據(jù)傳輸和存儲(chǔ)。