JSON(JavaScript 對象表示法)是一種數據格式,在互聯網應用程序中廣泛使用。CJSON是一個快速JSON解析器和生成器,使用純C編寫,易于集成到任何C程序中。CJSON具有輕量級、高效、易于使用、跨平臺等優點,因此廣受歡迎。
//示例代碼:使用CJSON生成JSON格式數據 #include#include "cJSON.h" int main() { const cJSON *person = NULL; cJSON *root = cJSON_CreateObject(); cJSON_AddItemToObject(root, "name", cJSON_CreateString("Tom")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(20)); cJSON_AddItemToObject(root, "email", cJSON_CreateString("tom@gmail.com")); char *out = cJSON_Print(root); printf("%s", out); free(out); cJSON_Delete(root); return 0; }
該示例代碼中,首先調用cJSON_CreateObject函數創建rootJSON對象。然后,使用cJSON_AddItemToObject函數將名稱、年齡和電子郵件添加為屬性。最后,調用cJSON_Print函數將JSON格式數據打印到控制臺。
//示例代碼:使用CJSON解析JSON格式數據 #include#include "cJSON.h" int main() { const char *json_data = "{\"name\":\"Tom\",\"age\":20,\"email\":\"tom@gmail.com\"}"; cJSON *root = cJSON_Parse(json_data); cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); cJSON *email = cJSON_GetObjectItem(root, "email"); printf("name: %s, age: %d, email: %s", cJSON_GetStringValue(name), age->valueint, cJSON_GetStringValue(email)); cJSON_Delete(root); return 0; }
該示例代碼中,首先定義JSON格式數據json_data,然后使用cJSON_Parse函數將其解析為一個JSON對象。cJSON_GetObjectItem函數用于獲取屬性名稱及其值,并將其打印到控制臺。最后,調用cJSON_Delete函數釋放內存。