*Redis JSON.TYPE 命令
JSON.TYPE 在 RedisJSON 中获取指定路径的 JSON 值类型。
*语法
JSON.TYPE key [path]
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | JSON 文档键名 |
| path | String | 否 | JSONPath 路径,默认根路径 $ |
*返回值
- String:JSON 类型名称(
object、array、string、integer、number、boolean、null) - Nil:路径不存在
*时间复杂度
O(1)
*
*示例
*基本用法
> JSON.SET doc $ '{"a": 1, "b": "hello", "c": [1, 2], "d": true, "e": null}'
OK
> JSON.TYPE doc $.a
"integer"
> JSON.TYPE doc $.b
"string"
> JSON.TYPE doc $.c
"array"
> JSON.TYPE doc $.d
"boolean"
> JSON.TYPE doc $.e
"null"
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR key does not exist | key 不存在 | 确认 key 存在 |
*最佳实践
- 用于类型检查和动态处理
- 配合 JSONPath 检查特定路径的类型
- 用于验证 JSON 结构
*FAQ
Q1: 返回的类型有哪些? A: object、array、string、integer、number、boolean、null。
Q2: 整数和浮点数有什么区别? A: 无小数部分返回 integer;有小数部分返回 number。
Q3: 路径不存在会怎样? A: 返回 nil。