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

c json 取得key

李中冰2年前6瀏覽0評論

在C語言中,使用JSON數據時,我們經常需要獲取其中的key。這里介紹一下如何在C語言中取得JSON數據的key。

#include <stdio.h>
#include <jansson.h>
int main()
{
char *json_str = "{\"key\": \"value\"}"; //這是我們要解析的JSON字符串
json_t *json_root; //JSON對象指針
json_error_t json_error; //JSON解析錯誤
json_root = json_loads(json_str, 0, &json_error); //將JSON字符串解析為JSON對象
if (!json_root) {
printf("json error: %s\n", json_error.text);
return 1;
}
const char *key_str = "key";
json_t *json_key = json_object_get(json_root, key_str); //獲取key指向的對象
if (json_key == NULL) {
printf("key %s not found in JSON object\n", key_str);
}
else {
printf("key %s value: %s\n", key_str, json_string_value(json_key)); //獲取key值并打印
}
json_decref(json_root); //釋放JSON對象的內存
return 0;
}

首先我們需要定義一個JSON對象指針json_t *json_root來存儲解析得到的JSON數據。然后調用json_loads函數將JSON字符串解析為JSON對象。如果解析失敗,則會打印出錯誤信息并返回1

接著我們需要定義一個const char *類型的指針key_str來存儲我們要查找的key值。然后調用json_object_get函數,將JSON對象和key_str作為參數,獲取指向key值所在的JSON對象的指針json_t *json_key

如果json_key指針為空,則說明找不到指定的key值,此時需要打印信息提示。如果json_key指針非空,則可以使用json_string_value函數獲取key值,并打印出來。

最后記得要使用json_decref函數釋放JSON對象的內存。