在現代互聯網中,越來越多的網站采用JSON(JavaScript Object Notation)格式來存儲和傳輸數據。
C語言是一種非常流行的編程語言,具有廣泛的應用。在許多情況下,我們需要使用C語言來獲取網頁中的JSON數據。下面是一個簡單的C程序,用于從網頁中獲取JSON數據。
#include <stdio.h> #include <stdlib.h> #include <curl/curl.h> // 回調函數,用于將網頁數據寫入緩沖區 static size_t write_callback(void *buffer, size_t size, size_t nmemb, void *userp) { size_t real_size = size * nmemb; char *str = (char*) malloc(real_size + 1); if (str == NULL) { return 0; } memcpy(str, buffer, real_size); str[real_size] = '\0'; *((char**) userp) = str; return real_size; } int main(void) { CURL *curl; CURLcode res; char *response = NULL; long response_code; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if (curl) { // 設置請求的URL地址 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api/data.json"); // 設置回調函數,將網頁數據保存到response中 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response); // 執行請求 res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } else { // 獲取HTTP響應狀態碼 curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code); if (response_code == 200) { printf("Response: %s\n", response); } } // 釋放資源 curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; }
上面的程序使用了libcurl庫來進行網絡請求。在程序中,我們設置請求的URL地址,并通過回調函數將網頁數據保存到response指針所指向的內存中。最后,我們可以通過printf函數將獲取到的JSON數據輸出到控制臺中。
現在你已經知道了如何在C語言中獲取網頁中的JSON數據了。通過上述代碼,你可以很容易地了解如何在自己的項目中使用C語言來獲取網頁JSON數據,從而更好地處理數據。
上一篇c語言編寫json數組中
下一篇vue 路由的嵌套