JSON是一種輕量級數據交換格式,它以鍵值對的方式進行數據存儲和傳輸,常用于Web應用程序的后端數據交互。C語言提供了許多庫函數用于JSON的解析,其中最流行的是cJSON庫。
通過cJSON庫,我們可以快速解析JSON字符串并獲取其中的鍵值對。下面我們來看一個具體的例子:
#include <stdio.h>
#include <cJSON.h>
int main()
{
char *json_str = "{ \"name\":\"小明\", \"age\":18, \"is_student\":true }";
cJSON *root = cJSON_Parse(json_str);
if(root == NULL)
{
printf("JSON字符串解析失敗!\n");
return -1;
}
cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name");
cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age");
cJSON *is_student = cJSON_GetObjectItemCaseSensitive(root, "is_student");
printf("姓名:%s\n年齡:%d\n是否學生:%s\n", cJSON_GetStringValue(name), age->valueint, cJSON_IsTrue(is_student) ? "是" : "否");
cJSON_Delete(root);
return 0;
}
上述代碼首先定義了一個JSON字符串,并使用cJSON_Parse函數將其轉換為cJSON對象,如果解析失敗,則打印錯誤信息并退出程序。然后通過cJSON_GetObjectItemCaseSensitive函數獲取指定鍵名的值,注意該函數區分大小寫。最后使用cJSON_GetStringValue函數獲取字符串類型的值,并使用cJSON_IsTrue函數判斷是否為真。
以上就是通過cJSON庫獲取JSON鍵值對的方法,有了它我們可以輕松應用JSON數據進行開發。