交替遍历 cJSON 数组
Iterating through a cJSON Array alternatively
这是我正在使用的代码
cJSON *IDs = cJSON_GetObjectItem(tree, "fruitIds");
cJSON *mangoe;
cJSON_ArrayForEach(mangoe, IDs)
{
}
我的 JSON 对象看起来像这样
static char *buffer = "taskData\":[{\"treeId\":123456,\"fruitIds\":[11111,00,22222,00,33333,00,44444,00,55555,00,66666,00,77777,00,88888,00,99999,00],\"numberOfFruits\":9};
我想做的是交替遍历我的 JSON 数组。例如,首先查看存储中是否有 1111
,同样检查是否有 2222
并更新我与 11
比较的每个值前面的 00
变量,如果我存储该变量。
为了实现这一点,我需要了解以下内容,
- 有没有办法以二的倍数遍历数组。 (如果不是以类似方式执行此操作的最佳方法是什么)注意:-我需要比较的值是数组的偶数索引
- 遍历数组时如何更新当前索引前面的数组位置。
提前致谢!!
我找到了上述问题的答案
似乎使用 cJSON_ArrayForEach
我们不能 运行 替代索引处的 forloop。相反,我使用了这样的东西,
查看当前索引前面的索引
mangoe->next->valueint
更新下一个索引的值
cJSON_SetIntValue(mangoe->next, 11);
这是我正在使用的代码
cJSON *IDs = cJSON_GetObjectItem(tree, "fruitIds");
cJSON *mangoe;
cJSON_ArrayForEach(mangoe, IDs)
{
}
我的 JSON 对象看起来像这样
static char *buffer = "taskData\":[{\"treeId\":123456,\"fruitIds\":[11111,00,22222,00,33333,00,44444,00,55555,00,66666,00,77777,00,88888,00,99999,00],\"numberOfFruits\":9};
我想做的是交替遍历我的 JSON 数组。例如,首先查看存储中是否有 1111
,同样检查是否有 2222
并更新我与 11
比较的每个值前面的 00
变量,如果我存储该变量。
为了实现这一点,我需要了解以下内容,
- 有没有办法以二的倍数遍历数组。 (如果不是以类似方式执行此操作的最佳方法是什么)注意:-我需要比较的值是数组的偶数索引
- 遍历数组时如何更新当前索引前面的数组位置。
提前致谢!!
我找到了上述问题的答案
似乎使用 cJSON_ArrayForEach
我们不能 运行 替代索引处的 forloop。相反,我使用了这样的东西,
查看当前索引前面的索引
mangoe->next->valueint
更新下一个索引的值
cJSON_SetIntValue(mangoe->next, 11);