色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 中post json數據

錢艷冰2年前9瀏覽0評論

在C語言中,post json數據是非常常見的操作。下面我們來看看如何使用C語言進行post json數據的操作。

#include#include#includeint main(void)
{
CURL *curl;
CURLcode res;
struct curl_slist *headers = NULL;
struct json_object *data;
char *json;
curl = curl_easy_init();
if(curl) {
const char *url = "http://example.com/api";
data = json_object_new_object();
json_object_object_add(data, "name", json_object_new_string("Alice"));
json_object_object_add(data, "age", json_object_new_int(22));
json_object_object_add(data, "city", json_object_new_string("Shanghai"));
json = json_object_to_json_string(data);
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
printf("curl error: %s", curl_easy_strerror(res));
}
curl_easy_cleanup(curl);
json_object_put(data);
}
return 0;
}

以上是一個簡單的post json數據的例子,其中我們使用了libcurl庫來進行網絡請求,使用了json-c庫來進行json的解析和轉換操作。

我們通過創建一個CURL對象,設置請求的URL、請求的body和請求頭,并調用curl_easy_perform函數來實現post json數據。在代碼中,我們使用了json_object_new_object函數來創建一個json對象,并使用json_object_object_add函數向json對象中添加key-value鍵值對;使用了json_object_to_json_string函數將json對象轉換為json字符串。

最后,我們執行完post請求后,需要對curl和json對象進行清理,避免內存泄漏。