在C語言中,使用WebAPI向服務器傳遞JSON數據是一個常見的操作。以下是一個簡單的例子:
#include <stdio.h> #include <curl/curl.h> #include <json-c/json.h> int main() { CURL *curl; CURLcode res; // 初始化 curl = curl_easy_init(); if(curl) { // 設置請求地址 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api"); // 設置請求頭 struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); // 設置請求數據 json_object *request_data = json_object_new_object(); json_object_object_add(request_data, "name", json_object_new_string("John")); json_object_object_add(request_data, "age", json_object_new_int(30)); const char *json_str = json_object_to_json_string(request_data); // 設置POST請求和請求數據 curl_easy_setopt(curl, CURLOPT_POST, 1L); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_str); // 執行請求 res = curl_easy_perform(curl); // 清理 curl_slist_free_all(headers); json_object_put(request_data); curl_easy_cleanup(curl); } return 0; }
以上代碼通過CURL庫向API地址發送了一個POST請求,并將JSON數據作為請求參數傳遞。在設置請求頭時,需要注意Content-Type應該設置為application/json,否則服務器可能無法正確解析傳遞的數據。
同時,在實際開發中,還需要考慮數據校驗、異常處理等問題,以保證數據的完整性和安全性。
上一篇vue圖片壓縮多大