C語言中,獲取JSON數(shù)據(jù)格式是一項非常常見的任務,特別是在與網絡服務器通信并接收其響應時。以下是一個使用C語言中的get方法獲取JSON數(shù)據(jù)格式的示例:
#include#include #include #include typedef struct { char* data; size_t size; } ResponseData; size_t write_callback(char* ptr, size_t size, size_t nmemb, void* userdata) { size_t real_size = size * nmemb; ResponseData* response_data = (ResponseData*)userdata; response_data->data = realloc(response_data->data, response_data->size + real_size + 1); if (response_data->data) { memcpy(&(response_data->data[response_data->size]), ptr, real_size); response_data->size += real_size; response_data->data[response_data->size] = '\0'; } else { perror("realloc failed"); return 0; } return real_size; } int main(void) { CURL* curl = curl_easy_init(); ResponseData response_data = {0}; CURLcode result; if (curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://jsonplaceholder.typicode.com/users/1"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)&response_data); result = curl_easy_perform(curl); if (result != CURLE_OK) { printf("Error occurred: %s\n", curl_easy_strerror(result)); } else { printf("%s\n", response_data.data); } curl_easy_cleanup(curl); free(response_data.data); } return 0; }
在上述示例中,getCURL函數(shù)使用了libcurl庫,該庫支持多種網絡協(xié)議,因此使用它可以方便地與遠程服務器通信。在示例中,我們以簡單的方式設置了URL、數(shù)據(jù)寫入回調函數(shù)和將接收到的數(shù)據(jù)寫入用戶數(shù)據(jù)結構。此外,我們還必須在代碼中實現(xiàn)清理過程,以確保在程序退出時正確釋放內存。
上一篇python 手游脫機
下一篇mysql分年齡段查詢