在使用C語言進行Web開發時,我們往往需要向其他應用或者服務器發送JSON格式的數據,以傳遞數據信息。下面我們將介紹如何使用C語言發送JSON數據格式。
#include <stdio.h> #include <curl/curl.h> #include <jansson.h> int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if (curl) { char *url = "http://example.com/api/v1/data"; char *json_data; json_t *root = json_object(); json_object_set_new(root, "name", json_string("John")); json_object_set_new(root, "age", json_integer(30)); json_data = json_dumps(root, 0); json_decref(root); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_data); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, "Content-Type: application/json"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; }
上面的代碼實現了向"http://example.com/api/v1/data"發送JSON數據的功能。json_t是jansson庫中的數據類型,用于構建JSON格式數據。json_object_set_new()函數用于將數據作為鍵值對存入JSON對象中。在使用json_dumps()函數將JSON對象轉換成字符串后,發送數據時需要將"Content-Type"頭部設置為"application/json",以確保數據按照JSON格式進行傳遞。
我們可以根據自己的需要,構建不同的JSON格式數據,使用上述方法進行發送。
上一篇c 參數轉json