在C語言中,判斷JSON數(shù)據(jù)是否存在某個key值需要用到JSON解析庫,比如cJSON。cJSON是一個輕量級的C語言JSON解析庫,主要用于解析和生成JSON數(shù)據(jù)。
假設我們有以下的JSON字符串:
{ "name": "張三", "age": 20, "gender": "male" }
我們想要判斷是否存在名為"age"的key值,可以使用cJSON庫中的
#include#include #include "cJSON.h" int main(void) { char *json_str = "{\"name\": \"張三\", \"age\": 20, \"gender\": \"male\" }"; // 定義JSON字符串 cJSON *root = cJSON_Parse(json_str); // 解析JSON字符串,返回JSON對象 if (root == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return 1; } // 判斷是否存在key值為"age" cJSON *age = cJSON_GetObjectItem(root, "age"); // 獲取對應的JSON對象 if (age == NULL) { printf("No such key.\n"); } else { printf("age: %d\n", age->valueint); } cJSON_Delete(root); // 釋放JSON對象內(nèi)存 return 0; }
執(zhí)行上述代碼,輸出結果如下:
age: 20
說明"age"的key值存在。