C語(yǔ)言中的HTTP和JSON數(shù)據(jù)格式化常用于服務(wù)器端與客戶(hù)端之間的數(shù)據(jù)交互,下面將介紹如何使用C語(yǔ)言實(shí)現(xiàn)HTTP請(qǐng)求和JSON數(shù)據(jù)格式化。
首先需要使用libcurl庫(kù)來(lái)發(fā)送HTTP請(qǐng)求:
#include <curl/curl.h> int main() { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); if(res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } curl_easy_cleanup(curl); } return 0; }
以上代碼通過(guò)curl_easy_init函數(shù)初始化一個(gè)curl對(duì)象,然后使用curl_easy_setopt設(shè)置請(qǐng)求的URL,最后發(fā)送HTTP請(qǐng)求并獲取返回結(jié)果。
接下來(lái)介紹如何使用cJSON庫(kù)來(lái)格式化JSON數(shù)據(jù):
#include <stdio.h> #include <cJSON.h> int main() { cJSON *root, *item; root = cJSON_CreateObject(); cJSON_AddItemToObject(root, "name", cJSON_CreateString("Tom")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(18)); item = cJSON_CreateArray(); cJSON_AddItemToArray(item, cJSON_CreateString("basketball")); cJSON_AddItemToArray(item, cJSON_CreateString("football")); cJSON_AddItemToObject(root, "favorites", item); char *json_string = cJSON_Print(root); printf("%s\n", json_string); cJSON_Delete(root); free(json_string); return 0; }
以上代碼使用cJSON_CreateObject創(chuàng)建一個(gè)JSON對(duì)象,之后使用cJSON_AddItemToObject函數(shù)將數(shù)據(jù)添加到JSON對(duì)象中,最后通過(guò)cJSON_Print將JSON對(duì)象格式化為字符串。
使用C語(yǔ)言實(shí)現(xiàn)HTTP請(qǐng)求和JSON數(shù)據(jù)格式化非常簡(jiǎn)單,可以方便地在服務(wù)器端與客戶(hù)端之間傳遞數(shù)據(jù)。