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

c 判斷json中的key

在使用C語(yǔ)言解析json數(shù)據(jù)時(shí),有時(shí)需要判斷json中是否存在某個(gè)key,對(duì)于這種情況,我們可以使用以下方法:

#include <stdio.h>
#include <jansson.h>
int main() {
char* json_str = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}";
json_error_t error;
json_t *root = json_loads(json_str, 0, &error);
if(!json_is_object(root)) {
printf("json格式錯(cuò)誤\n");
return 1;
}
const char* key = "name";
if(json_object_get(root, key)) {
printf("json中存在key:%s\n", key);
} else {
printf("json中不存在key:%s\n", key);
}
json_decref(root);
return 0;
}

代碼中,我們先使用json_loads函數(shù)將json字符串加載為json_t對(duì)象。然后通過json_is_object判斷json_t對(duì)象是否為json對(duì)象,如果不是,說明格式錯(cuò)誤。

接著通過json_object_get獲取json對(duì)象中對(duì)應(yīng)key的值,如果值存在,說明該key存在,否則不存在。

注意,獲取json對(duì)象中的值時(shí),如果對(duì)應(yīng)key不存在,json_object_get返回NULL,我們需要通過判斷返回值是否為NULL來確定key是否存在。