JSON(JavaScript Object Notation)是一種數(shù)據(jù)格式,它可以用來(lái)存儲(chǔ)和傳輸數(shù)據(jù)。在C語(yǔ)言中,我們可以使用第三方庫(kù)來(lái)創(chuàng)建和解析JSON對(duì)象。
例如,以下是一個(gè)簡(jiǎn)單的JSON對(duì)象: { "name": "John Smith", "age": 30, "email": "john@example.com" }
在C語(yǔ)言中,我們可以使用cJSON庫(kù)來(lái)創(chuàng)建和解析JSON對(duì)象。
以下是一個(gè)使用cJSON庫(kù)創(chuàng)建JSON對(duì)象的示例代碼: #include "cJSON.h" int main() { cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "John Smith"); cJSON_AddNumberToObject(root, "age", 30); cJSON_AddStringToObject(root, "email", "john@example.com"); char *json_str = cJSON_Print(root); cJSON_Delete(root); return 0; } 在上面的代碼中,我們使用cJSON_CreateObject函數(shù)創(chuàng)建了一個(gè)JSON對(duì)象,并使用cJSON_AddStringToObject和cJSON_AddNumberToObject函數(shù)向該對(duì)象中添加了鍵值對(duì)。最后,我們使用cJSON_Print函數(shù)將該JSON對(duì)象轉(zhuǎn)換為字符串并輸出。 以下是一個(gè)使用cJSON庫(kù)解析JSON對(duì)象的示例代碼: #include "cJSON.h" int main() { char *json_str = "{\"name\": \"John Smith\", \"age\": 30, \"email\": \"john@example.com\"}"; cJSON *root = cJSON_Parse(json_str); cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); cJSON *email = cJSON_GetObjectItem(root, "email"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("Email: %s\n", email->valuestring); cJSON_Delete(root); return 0; } 在上面的代碼中,我們使用cJSON_Parse函數(shù)將一個(gè)JSON字符串解析為JSON對(duì)象,并使用cJSON_GetObjectItem函數(shù)獲取該對(duì)象中的鍵值對(duì)。最后,我們輸出了該對(duì)象中的鍵值對(duì),并使用cJSON_Delete函數(shù)釋放了對(duì)該對(duì)象的內(nèi)存。