cJSON_GetArrayItem
时间: 2023-06-23 11:49:42 浏览: 168
cJSON_GetArrayItem 函数是 cJSON 库中用于获取 cJSON 数组指定索引位置的元素的函数,其函数原型为:
```c
cJSON *cJSON_GetArrayItem(const cJSON *array, int index);
```
其中,参数 array 是一个 cJSON 数组对象的指针,参数 index 是该数组中需要获取元素的索引位置,函数返回值是该索引位置上的 cJSON 对象指针。如果参数 array 不是一个数组对象,或者参数 index 超出了数组的索引范围,函数将返回 NULL。
下面是一个使用 cJSON_GetArrayItem 函数的示例代码,假设 cJSON 对象 root 是一个包含数组的 JSON 对象:
```c
cJSON *array = cJSON_GetObjectItem(root, "array");
if (array && cJSON_IsArray(array)) {
int size = cJSON_GetArraySize(array);
for (int i = 0; i < size; i++) {
cJSON *item = cJSON_GetArrayItem(array, i);
if (item) {
printf("The element at index %d is: %s\n", i, cJSON_Print(item));
}
}
}
```
首先使用 cJSON_GetObjectItem 函数获取名为 "array" 的 cJSON 对象,然后使用 cJSON_IsArray 函数判断该对象是否是一个数组对象。如果是,就使用 cJSON_GetArraySize 函数获取数组元素个数,并使用循环遍历数组中的每一个元素。在循环中,使用 cJSON_GetArrayItem 函数获取数组中指定索引位置的元素,并使用 cJSON_Print 函数输出该元素的字符串表示。需要注意的是,如果数组对象不存在或者不是一个数组对象,cJSON_GetArrayItem 函数将返回 NULL。
阅读全文