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格式的数据,并对其进行处理。