获取JSON对象或数组的大小 - JsonGetSize
函数简介
获取JSON对象中属性的数量或JSON数组中元素的数量。
接口名称
JsonGetSize
DLL调用
int JsonGetSize(long obj, int* err)
参数说明
参数名 | 类型 | 说明 |
---|---|---|
obj | 长整数型 | JSON对象或数组句柄 |
err | 整数型指针 | 错误码输出参数,可为0 |
示例
// 获取JSON对象的大小
long jsonObj = JsonParse("{\"name\":\"test\",\"age\":25,\"city\":\"beijing\"}", 0);
int err = 0;
int objSize = JsonGetSize(jsonObj, &err);
if (err == 0) {
printf("对象属性数量: %d\n", objSize);
}
// 获取JSON数组的大小
long jsonArr = JsonParse("[1,2,3,4,5]", 0);
int arrSize = JsonGetSize(jsonArr, &err);
if (err == 0) {
printf("数组元素数量: %d\n", arrSize);
}
JsonFree(jsonObj);
JsonFree(jsonArr);
返回值
返回对象属性数量或数组长度,失败时返回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) | 未知错误 |
注意事项
- 对于JSON对象,返回属性的数量
- 对于JSON数组,返回元素的数量
- 如果参数不是对象或数组类型,返回0
- 错误码通过err参数返回