欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 如何判斷當前json是否有key值

錢浩然2年前8瀏覽0評論

在C語言中,判斷JSON數據是否存在某個key值需要用到JSON解析庫,比如cJSON。cJSON是一個輕量級的C語言JSON解析庫,主要用于解析和生成JSON數據。

假設我們有以下的JSON字符串:

{
"name": "張三",
"age": 20,
"gender": "male"
}

我們想要判斷是否存在名為"age"的key值,可以使用cJSON庫中的cJSON_GetObjectItem函數來獲取對應的JSON對象,如果返回值為NULL,則表示該key值不存在。

#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對象內存
return 0;
}

執行上述代碼,輸出結果如下:

age: 20

說明"age"的key值存在。