C 語言在計算機領域中有著重要的地位,可以完成很多復雜的程序開發。其中,后臺獲取 JSON 鍵值對是常見需求,使用 C 語言可以很好地實現這一功能。
#include#include #include #include "cjson/cJSON.h" #define MAX_JSON_BUF_LEN 1024 int main() { char json_buf[MAX_JSON_BUF_LEN] = "{\"name\":\"Jack\",\"age\":25,\"gender\":\"male\"}"; cJSON *json_obj = cJSON_Parse(json_buf); if (NULL == json_obj) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return -1; } cJSON *name_item = cJSON_GetObjectItem(json_obj, "name"); if (NULL == name_item) { printf("json object does not have key %s\n", "name"); return -2; } printf("name: %s\n", name_item->valuestring); cJSON *age_item = cJSON_GetObjectItem(json_obj, "age"); if (NULL == age_item) { printf("json object does not have key %s\n", "age"); return -3; } printf("age: %d\n", age_item->valueint); cJSON *gender_item = cJSON_GetObjectItem(json_obj, "gender"); if (NULL == gender_item) { printf("json object does not have key %s\n", "gender"); return -4; } printf("gender: %s\n", gender_item->valuestring); cJSON_Delete(json_obj); return 0; }
上述代碼中,我們使用 cJSON 庫解析 JSON 格式的字符串,并使用 cJSON_GetObjectItem 函數獲取鍵值對中的值。如果未找到相應 key,函數將返回 NULL。通過以上代碼,我們可以看到 C 語言對于 JSON 解析的支持也是非常完善的。
上一篇html學生成績表代碼