C URL 是一個強大的庫,它可以用來進行網絡通信,包括但不限于 HTTP, HTTPS, FTP, 以及 SMTP 等。同時它在多平臺上都可以很好的工作。在實踐中,我們常常需要使用 C URL 去發送請求,并拼接 JSON 字符串。那么,下面我們就來看看,該如何使用 C URL 去拼接 JSON 字符串。
// 導入所需頭文件 #include#include int main() { CURL *curl; char *url = "http://example.com/api"; // 請求的 URL struct curl_slist *headers = NULL; // 請求頭列表 // 創建 JSON 對象,并添加鍵值對 json_object *json = json_object_new_object(); json_object_object_add(json, "name", json_object_new_string("John")); json_object_object_add(json, "age", json_object_new_int(30)); json_object_object_add(json, "email", json_object_new_string("john@example.com")); // 將 JSON 對象轉成字符串 const char *json_str = json_object_to_json_string(json); curl = curl_easy_init(); // 拼接請求頭列表 headers = curl_slist_append(headers, "Content-Type: application/json"); headers = curl_slist_append(headers, "Accept: application/json"); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, url); // 設置請求 URL curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); // 設置請求頭 curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_str); // 設置請求體 curl_easy_perform(curl); // 執行請求 curl_easy_cleanup(curl); } // 釋放資源 json_object_put(json); curl_slist_free_all(headers); return 0; }
以上代碼段演示了如何使用 C URL 去拼接 JSON 字符串。在創建請求之前,首先創建了一個 JSON 對象,并添加了三個鍵值對。然后將該 JSON 對象轉成字符串,并設置了請求頭和請求體。最后調用了 curl_easy_perform 函數來發送請求并執行。需要注意的是,在使用 C URL 進行網絡通信之前,需要調用 curl_global_init 函數進行初始化操作。