Linux· 使用json_object.h
时间: 2024-03-26 16:36:17 浏览: 67
在 Linux 系统中,使用 `json_object.h` 需要安装 `libjson-c` 库,并在编译时链接该库。下面是使用 `json_object.h` 的简单示例:
```c
#include <stdio.h>
#include <json-c/json.h>
int main() {
// 定义 JSON 字符串
const char *json_str = "{\"name\":\"Alice\",\"age\":18}";
// 解析 JSON 字符串为 JSON 对象
struct json_object *obj = json_tokener_parse(json_str);
// 获取 JSON 对象中的值
struct json_object *name_obj = json_object_object_get(obj, "name");
struct json_object *age_obj = json_object_object_get(obj, "age");
// 输出 JSON 对象中的值
printf("name: %s\n", json_object_get_string(name_obj));
printf("age: %d\n", json_object_get_int(age_obj));
// 释放内存
json_object_put(obj);
return 0;
}
```
上述代码中,首先定义了一个 JSON 字符串 `json_str`,然后调用 `json_tokener_parse` 函数将该字符串解析为 JSON 对象 `obj`。接着,使用 `json_object_object_get` 函数获取 JSON 对象中的值,并使用 `json_object_get_string` 和 `json_object_get_int` 函数分别获取字符串和整数类型的值。最后,使用 `json_object_put` 函数释放内存。
编译时需要链接 `libjson-c` 库,可以使用以下命令进行编译:
```bash
gcc -o test test.c -ljson-c
```
其中,`test` 表示编译生成的可执行文件名,`test.c` 表示源代码文件名,`-ljson-c` 表示链接 `libjson-c` 库。执行编译后,即可在命令行中运行生成的可执行文件,输出结果如下:
```
name: Alice
age: 18
```
阅读全文