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

c json字符串獲取屬性值

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

C語言中使用JSON字符串是一種常見的操作方式,而獲取JSON字符串中的屬性值也是一項基礎操作。在以下的示例中,我們將講解如何使用C語言來獲取JSON字符串中的屬性值。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <json-c/json.h>
int main() {
// 構造JSON字符串
char json_str[] = "{\"name\":\"Lucy\", \"age\":18, \"class\":{\"id\":1, \"name\":\"Grade One\"}}";
// 解析JSON字符串
struct json_object *root = json_tokener_parse(json_str);
// 獲取指定屬性的值
struct json_object *name = NULL;
if (json_object_object_get_ex(root, "name", &name)) {
printf("name: %s\n", json_object_get_string(name));
}
struct json_object *age = NULL;
if (json_object_object_get_ex(root, "age", &age)) {
printf("age: %d\n", json_object_get_int(age));
}
struct json_object *class = NULL;
if (json_object_object_get_ex(root, "class", &class)) {
struct json_object *class_id = NULL;
if (json_object_object_get_ex(class, "id", &class_id)) {
printf("class_id: %d\n", json_object_get_int(class_id));
}
struct json_object *class_name = NULL;
if (json_object_object_get_ex(class, "name", &class_name)) {
printf("class_name: %s\n", json_object_get_string(class_name));
}
}
// 釋放JSON對象
json_object_put(root);
return 0;
}

在這段代碼中,我們首先構造了一個JSON字符串,并利用json_tokener_parse函數將其解析成JSON對象。接著,我們使用json_object_object_get_ex函數獲取JSON對象中指定屬性的值,并使用json_object_get_xxx函數獲取屬性值的具體內容。最后,我們釋放JSON對象,避免內存泄漏。

通過上述示例,我們可以看到,在C語言中獲取JSON字符串中的屬性值并不是一件困難的操作。我們只需要使用json_tokener_parse函數將JSON字符串轉換為JSON對象,然后使用json_object_object_get_ex和json_object_get_xxx函數即可輕松實現。