在web應用程序中,我們經常需要通過API獲取數據。API返回的數據通常是JSON格式的,我們需要使用C語言編寫代碼來解析這些數據并將其渲染到網頁上。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <curl/curl.h> #include <jansson.h> size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) { json_error_t error; json_t *root = json_loads(ptr, 0, &error); // 獲取JSON數據中的字段并打印輸出 json_t *name = json_object_get(root, "name"); const char *name_str = json_string_value(name); printf("Name: %s\n", name_str); json_t *age = json_object_get(root, "age"); int age_num = json_integer_value(age); printf("Age: %d\n", age_num); // 釋放JSON對象 json_decref(root); return size * nmemb; } int main() { char url[] = "https://example.com/api/data.json"; CURL *curl = curl_easy_init(); // 設置CURL選項 curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); CURLcode res = curl_easy_perform(curl); curl_easy_cleanup(curl); return 0; }
以上代碼使用了libcurl庫和jansson庫來實現。我們首先設置CURL選項來指定要請求的URL和回調函數。在回調函數中,我們解析JSON數據并將其輸出到控制臺上。
使用這些技術,我們可以輕松地從API中獲取數據并將其渲染到網頁中。C語言可能不是構建Web應用程序的首選語言,但如果你需要針對性能或其他原因使用C語言,那么這是一個非常有效的解決方案。