在 C 語言中,我們可以使用庫或手動解析的方式來從網頁中獲取 JSON 格式的數據。其中比較常用的庫有 cJSON、jansson 等。
接下來我們以 cJSON 庫為例,介紹一下如何從網頁返回 JSON。
#include <stdio.h> #include <cJSON.h> int main() { // 模擬從網頁返回的 JSON 字符串 char* webContent = "{ \"name\": \"Jack\", \"age\": 18 }"; // 解析 JSON cJSON* root = cJSON_Parse(webContent); if (root == NULL) { printf("Error before: %s\n", cJSON_GetErrorPtr()); return 1; } // 獲取 JSON 中的數據 cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name"); cJSON* age = cJSON_GetObjectItemCaseSensitive(root, "age"); // 輸出結果 printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); // 釋放內存 cJSON_Delete(root); return 0; }
首先我們定義了一個字符串作為模擬從網頁返回的 JSON 內容。接著調用 cJSON_Parse 函數解析 JSON,如果解析失敗則輸出錯誤信息并返回。接著我們就可以通過 cJSON_GetObjectItemCaseSensitive 函數獲取 JSON 中的數據項,并輸出到控制臺上。
最后別忘了在程序結束前調用 cJSON_Delete 函數釋放內存。