色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

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

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

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

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

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

我們想要判斷是否存在名為"age"的key值,可以使用cJSON庫中的cJSON_GetObjectItem函數(shù)來獲取對應的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對象內(nèi)存
return 0;
}

執(zhí)行上述代碼,輸出結果如下:

age: 20

說明"age"的key值存在。