cJSON是一個快速、輕量級的C語言JSON解析器,它可以將JSON序列化和反序列化為C結(jié)構(gòu)體、數(shù)組和基礎(chǔ)類型。cJSON不依賴于任何特定的操作系統(tǒng)或編譯器,而且它的使用非常簡單。
// 以下是一個例子: #include "cJSON.h" int main() { char *json_string = "{\"name\":\"Tom\", \"age\":20, \"gender\":\"male\"}"; cJSON *json = cJSON_Parse(json_string); if (json != NULL) { char *name = cJSON_GetObjectItem(json, "name")->valuestring; int age = cJSON_GetObjectItem(json, "age")->valueint; char *gender = cJSON_GetObjectItem(json, "gender")->valuestring; printf("Name: %s\nAge: %d\nGender: %s\n", name, age, gender); } cJSON_Delete(json); return 0; }
上面這個例子展示了如何使用cJSON解析一個JSON字符串,并將解析結(jié)果賦值給C結(jié)構(gòu)體。首先,我們需要調(diào)用cJSON_Parse函數(shù)來解析JSON字符串。如果解析成功,返回的指針就是一個有效的cJSON對象,我們可以使用cJSON_GetObjectItem函數(shù)獲取對象中的屬性值,并根據(jù)需要將其轉(zhuǎn)換為適當?shù)腃數(shù)據(jù)類型。
這里需要注意的是,在使用完cJSON對象后,應(yīng)當使用cJSON_Delete函數(shù)來釋放它所占用的內(nèi)存。