在C語言中,如何使用POST方法發送JSON數組呢?以下是一個簡單的示例:
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
struct curl_slist *headers = NULL;
char *json = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Alex\",\"age\":25}]";
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json);
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
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庫的頭文件。在main()
函數中,創建一個CURL指針。然后,設置POST請求的URL以及要發送的JSON數組。注意,JSON數組需要以字符串形式提供。
接下來,設置HTTP請求頭。這里指定了Content-Type為application/json。
最后,調用curl_easy_perform()
函數執行請求。如果返回值不是CURLE_OK,表示請求失敗。
在此示例中,我們沒有處理服務器返回的響應。在實際應用中,可能需要對響應進行解析和處理。