C JSON是一種非常方便的數據交換格式,而且在C語言程序中,使用JSON可以實現數據的快速傳輸和解析,極大地方便了程序的開發。在本文中,我們將介紹如何在C語言程序中使用JSON發送數據。
#include <stdio.h> #include <stdlib.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) { json_t *root; json_error_t error; char *json_str; /* 構造json數據 */ root = json_pack("{sisi}", "x", 10, "y", 20); /* 轉換成字符串 */ json_str = json_dumps(root, JSON_INDENT(4)); /* 發送post請求 */ curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/api"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_str); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, "content-type:application/json"); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* 釋放資源 */ free(json_str); json_decref(root); curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; }
代碼中,我們使用jansson庫來處理JSON數據,使用curl庫來發送post請求。在構造json數據之后,我們將它轉換成字符串,并設置請求頭為application/json,然后使用curl發送post請求。最后,記得釋放生成的JSON字符串和對象。
上一篇html 實心方塊代碼
下一篇mysql讀取文件過程