C語言是一門廣泛應用的編程語言,它可以用于系統級編程、網絡編程、嵌入式系統開發等各種領域。當我們需要在C中發送JSON數組數據時,我們可以使用POST方法。下面來看一下如何在C語言中通過POST方法發送JSON數組數據。
// 假設我們要發送以下JSON數組數據 // [{"name":"Tom","age":18},{"name":"Jack","age":20}] #include#include #include #include int main(int argc, char** argv) { CURL *curl; CURLcode res; struct curl_slist *headers = NULL; struct curl_httppost* post = NULL; struct curl_httppost* last = NULL; char *json_data = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jack\",\"age\":20}]"; char *url = "https://example.com/api"; char *content_type = "Content-Type: application/json"; curl = curl_easy_init(); if(curl) { // 設置請求頭 headers = curl_slist_append(headers, content_type); // 設置POST參數 curl_formadd(&post, &last, CURLFORM_COPYNAME, "data", CURLFORM_COPYCONTENTS, json_data, CURLFORM_END); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_HTTPPOST, post); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); // 釋放資源 curl_slist_free_all(headers); curl_easy_cleanup(curl); } return 0; }
上述代碼中,我們使用了CURL庫來發送HTTP請求,其中需要注意的是:
- 需要在頭文件中包含
curl/curl.h
- 要使用POST方法,需要使用
CURLOPT_HTTPPOST
- 需要設置Content-Type請求頭為
application/json
- 設置POST參數需要使用
curl_formadd()
通過以上代碼,我們就可以在C語言中發送JSON數組數據了。當然,我們也可以將以上代碼封裝成一個函數,并將其應用到我們的項目中。