C語言是一種廣泛應用的編程語言,與之相伴的是JSON(JavaScript對象表示法)這種輕量級數據交換格式,JSON的數據格式非常簡單,但是它對于網絡應用來說非常重要和實用。在C語言中,我們要怎樣才能通過JSON讀取數據呢?
我們首先需要一個JSON解析庫,這里我們使用cJSON庫。安裝cJSON庫非常簡單,只要將它的c文件和h文件拷貝到你的工程中就行。在代碼中調用cJSON解析庫時,我們需要根據需要的數據格式設置好對應的訪問方法。
#include "cJSON.h" int main(){ char* json_str = "{\"name\":\"張三\",\"age\":23,\"score\":{\"語文\":90,\"數學\":80,\"英語\":70}}"; cJSON* root = cJSON_Parse(json_str); // 解析JSON字符串 cJSON* name = cJSON_GetObjectItem(root, "name"); // 獲取姓名 cJSON* age = cJSON_GetObjectItem(root, "age"); // 獲取年齡 cJSON* score = cJSON_GetObjectItem(root, "score"); // 獲取分數 cJSON* chinese = cJSON_GetObjectItem(score, "語文"); // 獲取語文成績 cJSON* math = cJSON_GetObjectItem(score, "數學"); // 獲取數學成績 cJSON* english = cJSON_GetObjectItem(score, "英語"); // 獲取英語成績 printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("Chinese: %d\n", chinese->valueint); printf("Math: %d\n", math->valueint); printf("English: %d\n", english->valueint); cJSON_Delete(root); // 釋放內存 return 0; }
在這個例子中,我們創建了一個json_str字符串,包含一個名為“張三”的人的年齡和分數。我們首先解析JSON字符串并得到根節點對象root,我們根據root節點對象的名字獲取姓名、年齡和分數,然后再從分數對象中獲取語文、數學和英語成績。最后我們輸出所有讀取到的數據。
總的來說,使用cJSON讀取JSON數據是非常簡單的,只需要通過遞歸的方式遍歷JSON樹,就可以輕松地將JSON格式的數據轉化為C語言數據結構。
上一篇vue cli例子
下一篇python 設計文本框