接下來,我們就可以使用cJSON庫中的函數(shù)來解析JSON串了。例如,我們有以下的JSON數(shù)據(jù):
{
"name": "張三",
"age": 20,
"isMale": true,
"score": [90, 85, 95]
}
我們可以使用cJSON_Parse函數(shù)將其解析為cJSON對象:
const char* json_data = "{\"name\":\"張三\",\"age\":20,\"isMale\":true,\"score\":[90,85,95]}";
cJSON* root = cJSON_Parse(json_data);
在解析完JSON數(shù)據(jù)后,我們可以通過cJSON庫中的一系列函數(shù)來獲取和修改解析后的JSON對象的屬性和值。例如,我們可以通過以下代碼獲取"name"屬性的值:
cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name");
printf("name: %s", name->valuestring);
我們可以通過類似的方式來獲取其他屬性的值,也可以使用cJSON庫中的函數(shù)來修改屬性的值,最后使用cJSON_Print函數(shù)將cJSON對象轉換為JSON串。
在使用完cJSON對象后,我們還需要使用cJSON_Delete函數(shù)來釋放內(nèi)存:
cJSON_Delete(root);
cJSON庫提供了很多方便的函數(shù)來操作JSON對象,我們可以根據(jù)需要來選擇使用。通過cJSON庫,我們可以方便地解析和生成JSON數(shù)據(jù),讓程序之間的數(shù)據(jù)傳遞變得更加方便和高效。