JSON是一種輕量級的數據交換格式,被廣泛應用于Web應用程序中。cJSON是一個開源的C語言庫,用于解析和生成JSON數據。下面我們來看一下如何在C語言中讀取JSON數據。
#include "cJSON.h" #include <stdio.h> int main() { char *jsonStr = "{\"name\":\"Tom\",\"age\":18,\"score\":[80,90,95]}"; cJSON *root = cJSON_Parse(jsonStr); cJSON *name = cJSON_GetObjectItem(root, "name"); printf("name: %s\n", name->valuestring); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("age: %d\n", age->valueint); cJSON *score = cJSON_GetObjectItem(root, "score"); int i; cJSON_ArrayForEach(i, score) { printf("%d ", i->valueint); } printf("\n"); cJSON_Delete(root); return 0; }
上面的代碼中,首先定義了一個JSON字符串,然后通過cJSON_Parse函數將其解析成一個cJSON對象。接著,我們分別通過cJSON_GetObjectItem函數獲取對象中的name、age和score項,并打印出它們的值。其中,cJSON_ArrayForEach是一個宏定義,用于遍歷數組型節點score中的每一個元素。最后,我們通過cJSON_Delete函數釋放了cJSON對象的內存。
在實際應用中,我們可以將讀取到的JSON數據轉化成C語言中使用的數據類型,例如數組、結構體等,方便進行業務邏輯處理。同時,在使用cJSON庫時,需要注意內存的管理與安全性問題,防止出現內存泄漏、指針溢出等問題。