在C語言中,如何接收JSON數據呢?
需要用到以下兩個庫: - cJSON:一個用于解析JSON數據的輕量級庫。 - libcurl:一個用于發送HTTP請求的庫。 下面是一個簡單的例子:
#include#include #include #include #include "cJSON.h" int main(void) { CURL *curl; CURLcode res; char *url = "http://example.com/json"; char response[1000]; cJSON *json = NULL; cJSON *data = NULL; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_memory_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)response); res = curl_easy_perform(curl); if(res != CURLE_OK) { printf("Error: %s\n", curl_easy_strerror(res)); } else { json = cJSON_Parse(response); if (!json) { printf("Error: JSON data is invalid.\n"); } else { data = cJSON_GetObjectItem(json, "data"); printf("Data: %s\n", cJSON_Print(data)); } } curl_easy_cleanup(curl); } return 0; }
在此代碼中,我們首先初始化了CURL庫,并設置了URL以及輸出數據的回調函數。回調函數的作用是將接收到的數據存儲在response變量中。
接下來,我們使用cJSON庫解析JSON數據,如果發現數據無效,則報錯,否則輸出數據中的data字段。
這只是一個簡單的例子,當然你可以根據自己的需要進行修改和擴展。
上一篇c#封裝 json接口
下一篇c#修改json數據類型