在C語言中使用POST傳輸JSON對象的方法非常簡單。以下是基本的示例,顯示如何使用C語言和libcurl庫來發起HTTP POST請求并傳輸JSON對象:
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; char *url = "https://example.com/api"; char *json = "{\"key\": \"value\"}"; /*初始化 curl*/ curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, url); /*設置請求頭信息*/ struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); /*設置POST請求*/ curl_easy_setopt(curl, CURLOPT_POST, 1L); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json); /*執行請求*/ res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } /*清理和釋放curl*/ curl_easy_cleanup(curl); } return 0; }
在上面的代碼中,我們通過設置CURL對象的一些選項來配置HTTP請求。首先,我們設置請求的URL,然后添加Content-Type標頭來指定請求體的格式。然后,我們設置為POST請求并設置JSON字符串作為POST數據。最后,我們執行這個請求并檢查它是否成功。
需要注意的是,如果要傳輸JSON數組而不是對象,只需將JSON字符串替換為JSON數組字符串即可。