C語言中的字符串是由一串字符組成,以'\0'結尾。在Web開發中,JSON已經成為了數據交換的標準格式。C語言中也可以操作JSON字符串,這就需要使用到 cJSON 庫。
#include "cJSON.h" #includeint main(){ char* json_string = "{\"name\":\"Tom\",\"age\":20}"; cJSON* root = cJSON_Parse(json_string); cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); printf("name: %s\nage: %d", name->valuestring, age->valueint); cJSON_Delete(root); return 0; }
以上代碼中,首先需要引入 cJSON 庫,包含 cJSON.h 頭文件。然后通過 cJSON_Parse 函數將 JSON 字符串解析為 cJSON 對象,cJSON_GetObjectItem 函數可以獲取 cJSON 對象中的成員。最后使用 cJSON_Delete 函數銷毀 cJSON 對象。
除此之外,cJSON 庫還可以創建 cJSON 對象,并將其轉換為 JSON 字符串。
#include "cJSON.h" #includeint main(){ cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddNumberToObject(root, "age", 20); char* json_string = cJSON_Print(root); printf("%s", json_string); cJSON_Delete(root); return 0; }
以上代碼中,首先通過 cJSON_CreateObject 函數創建 cJSON 對象,cJSON_AddStringToObject 和 cJSON_AddNumberToObject 函數可以往對象中添加成員。最后通過 cJSON_Print 函數將 cJSON 對象轉換為 JSON 字符串。
總之,cJSON 庫是一個輕量級、高效的 JSON 解析和構造庫,可以方便地在 C 語言中操作 JSON 數據。