使用cjson创建对象中嵌套对象再嵌套数据
时间: 2024-03-27 12:38:21 浏览: 61
可以通过以下方式创建嵌套对象再嵌套数据:
```c
#include <stdio.h>
#include "cJSON.h"
int main() {
cJSON *root = cJSON_CreateObject();
cJSON *nested1 = cJSON_CreateObject();
cJSON *nested2 = cJSON_CreateObject();
cJSON_AddItemToObject(root, "nested1", nested1);
cJSON_AddItemToObject(nested1, "nested2", nested2);
cJSON_AddItemToObject(nested2, "key", cJSON_CreateString("value"));
char *json = cJSON_Print(root);
printf("%s", json);
cJSON_Delete(root);
free(json);
return 0;
}
```
在这个例子中,我们首先创建了一个根对象 `root`、一个嵌套对象 `nested1` 和另一个嵌套对象 `nested2`。然后,我们将 `nested1` 对象添加到 `root` 对象中,将 `nested2` 对象添加到 `nested1` 对象中。接着,我们在 `nested2` 对象中添加了一个键值对,键为 `"key"`,值为 `"value"`。最后,我们打印出整个 JSON 对象,并释放内存。
输出结果为:
```
{"nested1":{"nested2":{"key":"value"}}}
```
同样地,在使用完 cJSON 对象后,需要调用 `cJSON_Delete` 函数释放内存。同时,我们也需要用 `free` 函数释放打印出的 JSON 字符串的内存。
阅读全文