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函數即可輕松實現。
上一篇python 插入列表
下一篇vue對表格添加