在進行web開發時,我們常常需要從遠程服務器獲取數據,最常用的數據格式之一就是JSON(JavaScript Object Notation)。在C語言中,我們可以使用第三方庫來獲取JSON數據。
一種流行的C語言JSON庫是cJSON。要使用cJSON,我們需要安裝它的頭文件,并在我們的代碼中包含它。以下是一個簡單的代碼示例,演示如何使用cJSON獲取JSON數據:
#include <cJSON.h> #include <stdio.h> #include <curl/curl.h> void getJSONData(char* url) { CURL* curl; CURLcode res; curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); //將返回的數據保存在一個字符串中 char response_str[4096]; response_str[0] = '\0'; curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, strcat); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response_str); res = curl_easy_perform(curl); if (res != CURLE_OK) { printf("Failed to get JSON data: %s\n", curl_easy_strerror(res)); } curl_easy_cleanup(curl); //解析JSON數據并提取所需信息 cJSON* root = cJSON_Parse(response_str); if (root) { cJSON* title = cJSON_GetObjectItem(root, "title"); if (title) { printf("Title: %s\n", title->valuestring); } cJSON_Delete(root); } } } int main() { char* url = "https://jsonplaceholder.typicode.com/todos/1"; getJSONData(url); return 0; }
在這個例子中,我們使用了cURL庫來獲取遠程數據。我們通過設置CURLOPT_URL
選項來指定我們要獲取的URL。我們定義了一個字符串來保存返回的數據,并使用CURLOPT_WRITEFUNCTION
選項來將數據添加到字符串中。
一旦我們有了JSON數據,我們可以使用
在這個例子中,我們只提取了返回數據中的標題,但我們可以根據需要提取更多信息。
上一篇python 隨機請求頭
下一篇python 隨機數 1