C語言是一門廣泛應用于嵌入式系統、網絡通信、圖形圖像、語音處理等各個領域的編程語言。而在網絡通信中,一種常見的數據格式是JSON(JavaScript Object Notation),它是一種輕量級的數據交換格式,易于閱讀和編寫。
那么在C語言中如何發送JSON數據呢?下面介紹一種基于C語言開源的cJSON庫來發送JSON數據的方法。
#include "cJSON.h" #include#include #include #include int main() { CURL *curl; CURLcode res; /*新建json對象*/ cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "張三"); cJSON_AddStringToObject(root, "age", "18"); cJSON_AddStringToObject(root, "gender", "男"); /*將json對象轉換為字符串*/ char *json_str = cJSON_Print(root); /*發送post請求*/ curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_str); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n",curl_easy_strerror(res)); cJSON_Delete(root); curl_easy_cleanup(curl); } free(json_str); return 0; }
以上是一個發送POST請求的示例代碼,其中cJSON庫的使用包含兩個步驟:
第一步,新建一個cJSON對象,并使用cJSON_AddXXXToObject函數向其中添加需要傳遞的字段和值。本例中,添加了姓名name、年齡age和性別gender三個字段。
第二步,將cJSON對象轉換成字符串形式,使用cJSON_Print函數即可。
最后,使用CURL庫發送POST請求,將JSON字符串作為POST請求的數據發送。若需要發送GET請求,則只需將數據附加在URL上即可。
綜上所述,C語言可以通過使用cJSON庫來發送JSON數據,具有良好的靈活性和可擴展性,可用于各種類型的應用場景。
上一篇dwz json 亂碼
下一篇vue代理沒成功