获取JSON数组中的元素 - JsonGetArrayItem
函数简介
获取JSON数组中指定索引位置的元素,返回JSON值句柄。
接口名称
JsonGetArrayItem
DLL调用
long JsonGetArrayItem(long arr, int index, int* err)
参数说明
参数名 | 类型 | 说明 |
---|---|---|
arr | 长整数型 | JSON数组句柄 |
index | 整数型 | 元素索引(从0开始) |
err | 整数型指针 | 错误码输出参数,可为0 |
示例
// 获取JSON数组中的元素
long jsonArr = JsonParse("[1,2,3,\"test\"]", 0);
int err = 0;
// 获取第一个元素
long firstItem = JsonGetArrayItem(jsonArr, 0, &err);
if (firstItem != 0 && err == 0) {
// 使用获取到的元素
// ...
JsonFree(firstItem); // 释放元素句柄
}
JsonFree(jsonArr); // 释放JSON数组
返回值
返回数组元素句柄,失败时返回0
错误码说明
错误码 | 说明 |
---|---|
JSON_SUCCESS (0) | 操作成功 |
JSON_ERROR_INVALID_HANDLE (1) | 无效的句柄 |
JSON_ERROR_PARSE_FAILED (2) | JSON解析失败 |
JSON_ERROR_TYPE_MISMATCH (3) | 类型不匹配 |
JSON_ERROR_KEY_NOT_FOUND (4) | 键不存在 |
JSON_ERROR_INDEX_OUT_OF_RANGE (5) | 索引超出范围 |
JSON_ERROR_UNKNOWN (6) | 未知错误 |
注意事项
- 返回的元素句柄需要调用JsonFree释放内存
- 如果索引超出范围或获取失败,返回0
- 错误码通过err参数返回
- 索引从0开始计数