在使用 C 語言解析 JSON 時,我們通常需要逐級獲取 JSON 內容,在使用中也比較繁瑣。直接取 JSON 值是一種更簡便的方法,下面我們來介紹一下如何直接取 JSON 值。
// 示例 JSON 數據 const char* json_string = "{\"name\":\"Jack\",\"age\":25,\"gender\":\"male\"}"; // 引入 cJSON 庫 #include "cJSON.h" int main() { // 將 JSON 字符串解析為 cJSON 對象 cJSON* json = cJSON_Parse(json_string); // 直接取出 name 字段的值 cJSON* name = cJSON_GetObjectItemCaseSensitive(json, "name"); printf("Name: %s\n", name->valuestring); // 直接取出 age 字段的值 cJSON* age = cJSON_GetObjectItemCaseSensitive(json, "age"); printf("Age: %d\n", age->valueint); // 直接取出 gender 字段的值 cJSON* gender = cJSON_GetObjectItemCaseSensitive(json, "gender"); printf("Gender: %s\n", gender->valuestring); // 釋放 cJSON 對象占用的內存 cJSON_Delete(json); return 0; }
通過上述代碼,我們可以看到,直接取 JSON 值非常簡單,只需要通過 cJSON_GetObjectItemCaseSensitive 函數獲取指定的字段,然后取出字段的值即可。這比逐級獲取 JSON 內容的方式更加直觀、快捷,適用于一些簡單的 JSON 數據。