当先锋百科网

首页 1 2 3 4 5 6 7

C语言是一种广泛使用的计算机编程语言,而JSON是一种轻量级的数据交换格式。

在C语言中,我们可以使用一些库来处理JSON数据的请求和响应。其中,我们可以使用HTTP客户端来发送GET请求并接收JSON数据。

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