cJSON_Parse Array
时间: 2023-08-05 17:08:15 浏览: 135
cJSON_Parse函数是一个用于解析JSON数据的函数,它可以将JSON字符串解析为一个cJSON对象。如果你要解析的是一个JSON数组,那么你需要确保JSON字符串的格式是一个合法的JSON数组格式。
以下是一个使用cJSON_Parse函数解析JSON数组的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
const char* json = "[1, 2, 3, 4, 5]";
cJSON* root = cJSON_Parse(json);
if (root == NULL) {
printf("Failed to parse JSON.\n");
return 1;
}
if (cJSON_IsArray(root)) {
int size = cJSON_GetArraySize(root);
printf("Array size: %d\n", size);
for (int i = 0; i < size; i++) {
cJSON* item = cJSON_GetArrayItem(root, i);
if (cJSON_IsNumber(item)) {
int value = item->valueint;
printf("Item %d: %d\n", i, value);
}
}
}
cJSON_Delete(root);
return 0;
}
```
这个示例代码中,我们定义了一个JSON字符串 `"[1, 2, 3, 4, 5]"` ,然后使用cJSON_Parse函数将其解析为一个cJSON对象。接着,我们通过cJSON_IsArray函数检查该对象是否为一个数组,如果是数组,我们可以通过cJSON_GetArraySize函数获取数组的大小,并使用cJSON_GetArrayItem函数逐个获取数组元素,并进行相应的处理。
需要注意的是,在实际使用中,你需要在编译时链接cJSON库,并包含cJSON.h头文件。另外,记得在使用完cJSON对象后,调用cJSON_Delete函数释放内存。
希望这个示例能对你有所帮助。如果有任何疑问,请随时提出。
阅读全文