json_object_object_get解释一下其作用
时间: 2023-11-12 20:09:45 浏览: 35
`json_object_object_get` 函数是 cJSON 库中提供的一个函数,用于获取 JSON 对象中指定键名对应的值。它的作用是在 JSON 对象中查找指定键名的值,并返回一个指向该值的指针。
函数的参数包括两个,第一个参数是 JSON 对象的指针,第二个参数是一个字符串,表示需要查找的键名。如果指定的键名在 JSON 对象中存在,该函数会返回对应的值的指针;如果不存在,则返回 NULL。
该函数的函数原型如下:
```
struct json_object* json_object_object_get(struct json_object *obj, const char *key);
```
其中,`obj` 表示需要查找的 JSON 对象指针,`key` 表示需要查找的键名。
举个例子,假设有一个 JSON 对象如下:
```
{
"name": "Alice",
"age": 18,
"email": "alice@example.com"
}
```
如果我们需要获取其中键名为 `age` 的值,可以使用 `json_object_object_get` 函数进行查找:
```c
struct json_object *obj = json_tokener_parse(json_str);
struct json_object *age_obj = json_object_object_get(obj, "age");
if (age_obj != NULL) {
int age = json_object_get_int(age_obj);
printf("age: %d\n", age);
}
```
上述代码中,`json_tokener_parse` 函数用于将 JSON 字符串解析为 JSON 对象,然后使用 `json_object_object_get` 函数查找键名为 `age` 的值,并使用 `json_object_get_int` 函数获取该值的整数值。如果查找成功,则输出 `age` 的值。