C 語言是一種強(qiáng)大的編程語言,目前廣泛應(yīng)用于電腦應(yīng)用程序和嵌入式系統(tǒng)軟件的開發(fā)。在網(wǎng)絡(luò)編程中,我們有時(shí)需要獲取 JSON 數(shù)據(jù),這時(shí),可以通過 C 語言從指定網(wǎng)址上獲取 JSON 數(shù)據(jù)。
#include<stdio.h> #include<stdlib.h> #include<curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); // 初始化 curl if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://jsonplaceholder.typicode.com/posts/1"); // 設(shè)置要獲取 JSON 數(shù)據(jù)的網(wǎng)址 curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); // 跟蹤 HTTP 重定向 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite); // 設(shè)置數(shù)據(jù)接收函數(shù) curl_easy_setopt(curl, CURLOPT_WRITEDATA, stdout); // 設(shè)置數(shù)據(jù)接收輸出流 res = curl_easy_perform(curl); // 開始 HTTP 處理 if(res != CURLE_OK) // 處理失敗 fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); curl_easy_cleanup(curl); // 清理 CULR resouce } return 0; }
上述代碼中,我們使用了一個(gè) C 庫 libcurl,它是一個(gè)向?qū)Ш妥詣?dòng)機(jī)器的 URL 傳輸庫,支持所有常見網(wǎng)絡(luò)協(xié)議,如 FTP、HTTP 和 SMTP 等。在代碼中,首先初始化了 Curl,然后設(shè)置要獲取的網(wǎng)址,接著設(shè)置數(shù)據(jù)的接收方式,并且指定輸出流為標(biāo)準(zhǔn)輸出。最后通過 curl_easy_perform() 開始 HTTP 處理,并清理資源。
總的來說,在 C 語言中獲取 JSON 數(shù)據(jù)非常簡單,只需要使用 libcurl 庫,設(shè)置好獲取 JSON 數(shù)據(jù)的網(wǎng)址和數(shù)據(jù)接收方式即可。
下一篇c遍歷json