C JSON Value是C語言中的一個輕量級JSON庫,它被廣泛應用于數據交換、網頁及移動應用程序中。
#include <cjson/cJSON.h> int main() { cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "cjson"); cJSON_AddNumberToObject(root, "version", 2.0); cJSON_AddTrueToObject(root, "active"); char *json_str = cJSON_Print(root); printf("%s", json_str); cJSON_Delete(root); free(json_str); return 0; }
以上代碼創建了一個JSON對象,給它加入了三個鍵值對,并將它轉化為JSON字符串輸出。其中,cJSON_CreateObject()
用于創建一個JSON對象,cJSON_AddXXXToObject()
用于向對象中添加鍵值對,cJSON_Print()
并返回轉化后的JSON字符串。
除了添加鍵值對,C JSON Value還支持解析和訪問JSON字符串中的數據。以下代碼用于解析JSON字符串,訪問其中的鍵值對:
#include <cjson/cJSON.h> int main() { char *json_str = "{\"name\":\"cjson\",\"version\":2.0,\"active\":true}"; cJSON *root = cJSON_Parse(json_str); if (root != NULL) { cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *version = cJSON_GetObjectItem(root, "version"); cJSON *active = cJSON_GetObjectItem(root, "active"); printf("name:%s version:%.1f active:%d", name->valuestring, version->valuedouble, active->valueint); cJSON_Delete(root); } return 0; }
以上代碼解析了一個JSON字符串,通過cJSON_GetObjectItem()
函數訪問了其中的鍵值對,并輸出了它們的值。注意,在使用cJSON_Parse()
函數解析JSON字符串后,需要使用cJSON_Delete()
函數釋放內存。