删除JSON对象中的键 - JsonDeleteKey
函数简介
删除JSON对象中指定的键及其对应的值。
接口名称
JsonDeleteKey
DLL调用
int JsonDeleteKey(long obj, string key)
参数说明
参数名 | 类型 | 说明 |
---|---|---|
obj | 长整数型 | JSON对象句柄 |
key | 字符串 | 要删除的键名 |
示例
// 删除JSON对象中的键
long jsonObj = JsonParse("{\"name\":\"test\",\"age\":25,\"city\":\"beijing\"}", 0);
// 删除指定键
int result = JsonDeleteKey(jsonObj, "age");
if (result == 0) {
printf("删除键成功\n");
}
// 查看删除后的结果
int err = 0;
const char* jsonStr = JsonStringify(jsonObj, 2, &err);
if (jsonStr != 0 && err == 0) {
printf("删除后的JSON: %s\n", jsonStr);
FreeStringPtr(jsonStr);
}
JsonFree(jsonObj);
返回值
返回操作结果错误码,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) | 未知错误 |
注意事项
- 如果键不存在,操作仍然成功(无操作)
- 删除后,对应的值也会被释放
- 删除操作不可逆