

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# JSON.TYPE
<a name="json-type"></a>

报告给定路径的值类型。

语法

```
JSON.TYPE <key> [path]
```
+ key（必需）– JSON 文档类型的键
+ path（可选）– 一个 JSON 路径。如果未提供，则默认为根目录

**Return**

如果路径是增强的语法：
+ 表示每个路径的值类型的字符串数组。类型为 \$1"null"、"boolean"、"string"、"number"、"integer"、"object" 和 "array"\$1 之一。
+ 如果路径不存在，则其相应的返回值为 Null。
+ 如果文档键不存在，则为空数组。

如果路径是受限的语法：
+ 字符串，值的类型
+ 如果文档键不存在，则为 Null。
+ 如果 JSON 路径无效或不存在，则为 Null。

**示例**

增强的路径语法：

```
127.0.0.1:6379> JSON.SET k1 . '[1, 2.3, "foo", true, null, {}, []]'
OK
127.0.0.1:6379> JSON.TYPE k1 $[*]
1) integer
2) number
3) string
4) boolean
5) null
6) object
7) array
```

受限的路径语法：

```
127.0.0.1:6379> JSON.SET k1 . '{"firstName":"John","lastName":"Smith","age":27,"weight":135.25,"isAlive":true,"address":{"street":"21 2nd Street","city":"New York","state":"NY","zipcode":"10021-3100"},"phoneNumbers":[{"type":"home","number":"212 555-1234"},{"type":"office","number":"646 555-4567"}],"children":[],"spouse":null}'
OK
127.0.0.1:6379> JSON.TYPE k1
object
127.0.0.1:6379> JSON.TYPE k1 .children
array
127.0.0.1:6379> JSON.TYPE k1 .firstName
string
127.0.0.1:6379> JSON.TYPE k1 .age
integer
127.0.0.1:6379> JSON.TYPE k1 .weight
number
127.0.0.1:6379> JSON.TYPE k1 .isAlive
boolean
127.0.0.1:6379> JSON.TYPE k1 .spouse
null
```