C語言是一種廣泛使用的計算機編程語言,而JSON是一種輕量級的數據交換格式。
在C語言中,我們可以使用一些庫來處理JSON數據的請求和響應。其中,我們可以使用HTTP客戶端來發送GET請求并接收JSON數據。
#include#include #include typedef struct { char *data; size_t size; } response_struct; size_t write_response_data(void *ptr, size_t size, size_t nmemb, void *stream) { response_struct *response = (response_struct*)stream; response->data = realloc(response->data, response->size + size * nmemb); memcpy(response->data + response->size, ptr, size * nmemb); response->size += size * nmemb; return size * nmemb; } int main() { CURL *curl = curl_easy_init(); struct curl_slist *header_list = NULL; char *url = "https://example.com/api/get_user_info"; response_struct response = { NULL, 0 }; header_list = curl_slist_append(header_list, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header_list); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_response_data); curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)&response); CURLcode res = curl_easy_perform(curl); if(res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } else { printf("%.*s\n", (int)response.size, response.data); } curl_easy_cleanup(curl); curl_slist_free_all(header_list); free(response.data); return 0; }
以上代碼是一個基本的GET請求獲取JSON數據的例子。其中,我們使用了curl庫來進行HTTP請求,并通過設置HTTP HEADER的方式設置請求頭部信息。
使用以上代碼,我們可以輕松地獲取JSON格式的數據,并對其進行處理。
上一篇c語言 文件讀寫json
下一篇c# 讀json