在C語言中,如何接收并處理JSON對象呢?我們可以使用C Request庫來實現這個功能。以下是一份簡單的示例代碼。
#include <stdio.h> #include <stdlib.h> #include <cJSON.h> #include <curl/curl.h> static size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp) { size_t realsize = size * nmemb; char *mem = (char *) malloc(realsize); memcpy(mem, contents, realsize); cJSON *json = cJSON_Parse(mem); printf("JSON object: %s\n", cJSON_Print(json)); free(mem); cJSON_Delete(json); return realsize; } int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); 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); } curl_global_cleanup(); return 0; }
首先,我們需要引用cJSON和CURL庫。接著,我們定義了一個回調函數WriteMemoryCallback,用于處理返回值。在這個回調函數中,我們使用了cJSON_Parse來解析返回的字符串,然后調用cJSON_Print來格式化輸出JSON對象。
接下來,在main函數中,我們初始化CURL,設置URL和回調函數,并執行CURL。在執行完畢后,我們清理CURL和cJSON庫,并退出程序。
通過這份簡單的代碼,我們可以輕松地在C程序中接收并處理JSON對象。
上一篇vue在哪里編輯
下一篇python 獲得父目錄