C語言是一種非常常用的編程語言,它可以使用HTTP協議中的POST方法來向服務器發送JSON格式的數據。在使用POST方法時,需要對要發送的數據進行序列化,將數據轉換為JSON格式,然后發送給服務器。以下是C語言中POST方法發送JSON數據的代碼:
#include <stdio.h> #include <curl/curl.h> #include <string.h> #include <json-c/json.h> int main(void) { CURL *curl; CURLcode res; struct curl_slist *header = NULL; // 創建CURL句柄 curl = curl_easy_init(); if(curl) { // 定義HTTP請求的頭部 header = curl_slist_append(header, "Content-Type: application/json"); // 定義HTTP請求的URL curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api"); // 設置HTTP請求的頭部 curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header); // 設置HTTP請求的方法為POST curl_easy_setopt(curl, CURLOPT_POST, 1L); // 定義要發送的JSON數據 json_object *json = json_object_new_object(); json_object_object_add(json, "name", json_object_new_string("Jack")); json_object_object_add(json, "age", json_object_new_int(22)); const char *json_str = json_object_to_json_string(json); // 設置HTTP請求的數據體 curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_str); // 執行HTTP請求 res = curl_easy_perform(curl); // 釋放CURL句柄 curl_easy_cleanup(curl); } return 0; }
上述代碼中,使用了CURL庫和json-c庫來發送POST請求。首先創建了CURL句柄,并定義了HTTP請求的頭部和URL。接著設置HTTP請求的頭部、方法和數據體,其中數據體需要將要發送的JSON數據進行序列化。
最后,可執行HTTP請求并釋放CURL句柄。這樣,就可以向服務器發送JSON格式的數據了。
上一篇from轉換json傳送
下一篇vue const 變量