C web發送JSON
C web應用程序是一種使用C語言編寫的Web應用程序。在開發過程中,我們有時需要通過Web發送JSON數據。在本篇文章中,我們將介紹如何使用C語言發送JSON。
#include <stdio.h> #include <stdlib.h> #include <curl/curl.h> #include <jansson.h> int main(){ CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if(curl){ //創建JSON對象 json_t *root = json_object(); json_object_set_new(root, "name", json_string("John")); json_object_set_new(root, "age", json_integer(25)); json_t *arr = json_array(); json_array_append_new(arr, json_string("football")); json_array_append_new(arr, json_string("basketball")); json_object_set_new(root, "hobby", arr); //將JSON對象轉為字符串格式 char *postFields = json_dumps(root, JSON_COMPACT); //設置curl curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/api"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postFields); curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, strlen(postFields)); //執行curl res = curl_easy_perform(curl); //釋放資源 free(postFields); curl_easy_cleanup(curl); json_decref(root); } curl_global_cleanup(); return 0; }
上面是一個簡單的發送JSON數據的C代碼。我們使用了官方提供的CURL庫,以及jansson庫來處理JSON數據。
首先,我們創建一個JSON對象,并設置數據。然后,我們使用json_dumps函數將JSON對象轉換為字符串格式。接下來,我們設置curl的URL和POST數據。最后,我們執行curl并釋放資源。
需要注意的是,在使用jansson庫時,需要使用json_decref函數釋放JSON對象的內存。
通過這種方式,我們可以方便地在C web應用程序中發送JSON數據,以實現與其他Web服務的交互。
上一篇mysql初始化無密碼
下一篇切換苗條組件中的類