C語言作為一門底層的編程語言,其處理數據的能力得到廣泛認可。而近年來,處理JSON數據成為了一項非常重要的工作。C語言中有一個非常流行的JSON解析器——cJSON。這款解析器具有輕量級、高效、易用等優點。下面我們將通過實例詳細介紹cJSON如何解析JSON數據。
// 假設我們有如下JSON數據:{"name":"Jack","age":22,"country":"China"} #include#include #include "cJSON.h" // 包含頭文件 int main() { const char* json_data = "{\"name\":\"Jack\",\"age\":22,\"country\":\"China\"}"; // 定義JSON數據 cJSON* root = cJSON_Parse(json_data); // 解析JSON數據 if (root == NULL) { // 解析失敗 printf("Error before: [%s]\n", cJSON_GetErrorPtr()); // 打印錯誤原因 return 1; } cJSON* name = cJSON_GetObjectItem(root, "name"); // 獲取"name"節點對應的值 if (name != NULL) { // 如果節點存在 printf("name: %s\n", name->valuestring); // 打印節點對應的字符串類型值 } cJSON_Delete(root); // 釋放內存 return 0; }
如上述代碼所示,首先要包含cJSON頭文件
除了獲取字符串類型節點,cJSON還支持獲取JSON數據中的數值、數組、對象等類型。需要注意的是,當節點對應的值是數字類型時,可使用cJSON_GetNumberValue()函數獲取節點值;當節點對應的值是數組或對象類型時,可分別使用cJSON_GetArrayItem()和cJSON_GetObjectItem()函數獲取對應的數組或對象節點。
上一篇vue click 雙擊
下一篇python 詞云參數