在 C 語言中,我們可以使用 libcurl 來進行 HTTP 請求。而獲取 JSON 數據則需要使用一些第三方庫。下面以 cJSON 為例,介紹如何使用 libcurl 和 cJSON 獲取 JSON 數據。
#include <cJSON.h> #include <curl/curl.h> int main() { CURL *curl = curl_easy_init(); if(curl) { CURLcode res; char error[CURL_ERROR_SIZE]; cJSON *json; curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/data.json"); curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error); res = curl_easy_perform(curl); if(res != CURLE_OK) { printf("curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); printf("%s\n", error); } else { json = cJSON_Parse(error); printf("Data: %s\n", cJSON_Print(json)); cJSON_Delete(json); } curl_easy_cleanup(curl); } return 0; }
首先,我們初始化了一個 CURL 對象,并設置請求 URL。在curl_easy_setopt
函數中,我們還設置了一個錯誤緩沖區。在請求失敗時,錯誤消息將會存儲在這個緩沖區中。
接著,我們使用curl_easy_perform
函數來執行這個請求。如果請求成功,那么我們就可以使用 cJSON 庫來解析獲取到的 JSON 數據。
具體來說,我們使用cJSON_Parse
函數將 JSON 字符串解析為 cJSON 對象,然后使用cJSON_Print
函數將這個 cJSON 對象轉換為字符串并打印出來。最后,我們還需要使用cJSON_Delete
函數來釋放 cJSON 對象所占用的內存。
上一篇python 無參數函數
下一篇python 行號為星號