C語言是一種非常流行的編程語言,廣泛應用于計算機科學和軟件開發。在開發過程中,經常需要從網頁獲取JSON值。下面介紹一種使用C語言從網頁獲取JSON值的方法。
#include <stdio.h> #include <curl/curl.h> #include <jansson.h> static size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) { size_t total = size * nmemb; json_error_t error; json_t *root = json_loads(ptr, 0, &error); if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return total; } /* 獲取JSON值 */ json_t *value = json_object_get(root, "key"); if (json_is_string(value)) { printf("Value: %s\n", json_string_value(value)); } else { printf("Value is not a string\n"); } json_decref(root); return total; } int main() { CURL *curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/api.json"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); curl_easy_perform(curl); curl_easy_cleanup(curl); } return 0; }
該代碼使用了curl和jansson兩個庫。使用時需要將其安裝到系統中。然后在代碼中調用相關函數,傳入URL和回調函數。
回調函數中,使用jansson庫的json_loads函數將獲取到的JSON字符串轉換為jansson格式的JSON值。然后根據JSON的鍵名獲取相應的值。
使用上述方法可以方便地在C語言中獲取網頁的JSON值,從而進行相應的處理。