cjson.h获取json数据中的list
时间: 2024-03-06 08:49:28 浏览: 247
如果你想要在 C 语言中获取 JSON 数据中的 list,可以使用一个叫做 cJSON 的库。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
char *jsonStr = "{\"list\":[1,2,3]}";
cJSON *root = cJSON_Parse(jsonStr);
if (root != NULL) {
cJSON *list = cJSON_GetObjectItem(root, "list");
if (list != NULL) {
int i;
int size = cJSON_GetArraySize(list);
for (i = 0; i < size; i++) {
cJSON *item = cJSON_GetArrayItem(list, i);
printf("%d\n", item->valueint);
}
} else {
printf("Failed to get list from JSON\n");
}
cJSON_Delete(root);
} else {
printf("Failed to parse JSON\n");
}
return 0;
}
```
这个示例首先创建了一个 JSON 字符串,其中包含了一个名为 "list" 的数组。然后使用 cJSON 库中的 cJSON_Parse 函数解析 JSON 字符串,并将结果存储在一个名为 root 的 cJSON 对象中。之后,通过使用 cJSON_GetObjectItem 函数获取名为 "list" 的数组,并使用 cJSON_GetArraySize 函数获取数组的长度。最后,使用 cJSON_GetArrayItem 函数遍历数组中的元素,并打印每个元素的值。在此示例中,我们假设数组中的元素都是整数类型。最后,使用 cJSON_Delete 函数释放 cJSON 对象的内存。
阅读全文