C語言是一門廣泛被使用的編程語言,也是開發者們常用來與服務器進行交互的語言之一。處理 JSON 數據是當今互聯網應用程序中常見操作之一。JSON (JavaScript 對象標記)是一種用輕量級的數據交換格式,可以方便地在客戶端和服務器之間傳輸數據。本文將向您介紹如何使用 C 語言發送 JSON 數據格式。
#include#include #include #include // 發送 JSON 請求 // @param url 發送請求到的 url 地址 // @param json_data 要發送的 json 數據 CURLcode send_json_request(const char *url, cJSON *json_data) { CURL *curl; CURLcode res; char *json_str = cJSON_Print(json_data); curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if (curl) { struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_str); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } curl_global_cleanup(); cJSON_Delete(json_data); free(json_str); return res; } int main() { cJSON *root = cJSON_CreateObject(); cJSON *array = cJSON_CreateArray(); cJSON_AddStringToObject(root, "name", "John Smith"); cJSON_AddNumberToObject(root, "age", 42); cJSON_AddItemToObject(root, "messages", array); cJSON_AddItemToArray(array, cJSON_CreateString("Hello, World!")); cJSON_AddItemToArray(array, cJSON_CreateString("Goodbye, World!")); send_json_request("http://example.com/api/", root); return 0; }
在上面的示例代碼中,我們使用了一個名為 cJSON 的庫來創建和處理 JSON 數據。CURL 庫被用來進行 HTTP 請求,發送到指定的 URL。要發送的 JSON 數據首先要被轉換成字符串,我們使用 cJSON_Print 函數來執行這個操作。該字符串將會放在 HTTP 請求中,并且 Content-Type 頭部必須是 application/json,這用來告訴服務器請求的格式是 JSON。最后,我們將使用 free 函數來釋放存儲分配的空間,使用 cJSON_Delete 函數清理 cJSON 節點。
上一篇vue import重復
下一篇c 取到json里面的值