获取JSON对象中的数值 - JsonGetNumber
函数简介
获取JSON对象中指定键对应的数值。
接口名称
JsonGetNumber
DLL调用
double JsonGetNumber(long obj, string key, int* err)
参数说明
参数名 | 类型 | 说明 |
---|---|---|
obj | 长整数型 | JSON对象句柄 |
key | 字符串 | 键名 |
err | 整数型指针 | 错误码输出参数,可为0 |
示例
// 获取JSON对象中的数值
long jsonObj = JsonParse("{\"age\":25,\"score\":98.5,\"count\":100}", 0);
int err = 0;
double age = JsonGetNumber(jsonObj, "age", &err);
if (err == 0) {
printf("age: %.0f\n", age);
}
double score = JsonGetNumber(jsonObj, "score", &err);
if (err == 0) {
printf("score: %.1f\n", score);
}
JsonFree(jsonObj); // 释放JSON对象
返回值
返回数值,失败时返回0.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) | 未知错误 |
注意事项
- 如果键不存在或值不是数字类型,返回0.0
- 错误码通过err参数返回
- 支持整数和浮点数类型