将JSON对象序列化为字符串 - JsonStringify
函数简介
将JSON对象序列化为字符串,支持格式化输出。
接口名称
JsonStringify
DLL调用
long JsonStringify(long obj, int indent, int* err)
参数说明
参数名 | 类型 | 说明 |
---|---|---|
obj | 长整数型 | JSON对象句柄 |
indent | 整数型 | 缩进空格数,0表示不格式化 |
err | 整数型指针 | 错误码输出参数,可为0 |
示例
// 将JSON对象序列化为字符串
long jsonObj = JsonCreateObject();
JsonSetString(jsonObj, "name", "test");
JsonSetNumber(jsonObj, "age", 25);
int err = 0;
const char* jsonStr = JsonStringify(jsonObj, 2, &err);
if (jsonStr != 0 && err == 0) {
printf("JSON字符串: %s\n", jsonStr);
FreeStringPtr(jsonStr); // 释放字符串内存
}
JsonFree(jsonObj); // 释放JSON对象
返回值
返回JSON字符串,需调用FreeStringPtr释放,失败时返回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) | 未知错误 |
注意事项
- 返回的字符串需要调用FreeStringPtr释放内存
- 序列化失败时返回0,错误码通过err参数返回
- indent参数控制格式化,0表示紧凑格式,大于0表示缩进空格数