解析JSON字符串 - JsonParse
函数简介
解析JSON字符串,将其转换为JSON对象句柄,便于后续操作。
接口名称
JsonParse
DLL调用
long JsonParse(string str, int* err)
参数说明
参数名 | 类型 | 说明 |
---|---|---|
str | 字符串 | 要解析的JSON字符串 |
err | 整数型指针 | 错误码输出参数,可为0 |
示例
// 解析JSON字符串
const char* jsonStr = "{\"name\":\"test\",\"age\":25}";
int err = 0;
long jsonObj = JsonParse(jsonStr, &err);
if (jsonObj != 0 && err == 0) {
// 使用解析后的JSON对象
// ...
JsonFree(jsonObj); // 释放内存
} else {
// 处理解析错误
printf("JSON解析失败,错误码: %d\n", err);
}
返回值
返回解析后的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) | 未知错误 |
注意事项
- 返回的JSON对象句柄需要调用JsonFree释放内存
- 解析失败时返回0,错误码通过err参数返回
- 支持标准JSON格式,包括对象、数组、字符串、数字、布尔值和null