JSON.STRLEN - Amazon ElastiCache
Services or capabilities described in AWS documentation might vary by Region. To see the differences applicable to the AWS European Sovereign Cloud Region, see the AWS European Sovereign Cloud User Guide.

JSON.STRLEN

Gets the lengths of the JSON string values at the path.

Syntax

JSON.STRLEN <key> [path]
  • key (required) – A Valkey or Redis OSS key of JSON document type.

  • path (optional) – A JSON path. Defaults to the root if not provided.

Return

If the path is enhanced syntax:

  • Array of integers that represents the length of the string value at each path.

  • If a value is not a string, its corresponding return value is null.

  • Null if the document key does not exist.

If the path is restricted syntax:

  • Integer, the string's length.

  • If multiple string values are selected, the command returns the first string's length.

  • WRONGTYPE error if the value at the path is not a string.

  • NONEXISTENT error if the path does not exist.

  • Null if the document key does not exist.

Examples

Enhanced path syntax:

127.0.0.1:6379> JSON.SET k1 $ '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.STRLEN k1 $.a.a 1) (integer) 1 127.0.0.1:6379> JSON.STRLEN k1 $.a.* 1) (integer) 1 127.0.0.1:6379> JSON.STRLEN k1 $.c.* 1) (integer) 1 2) (integer) 2 127.0.0.1:6379> JSON.STRLEN k1 $.c.b 1) (integer) 2 127.0.0.1:6379> JSON.STRLEN k1 $.d.* 1) (nil) 2) (integer) 1 3) (nil)

Restricted path syntax:

127.0.0.1:6379> JSON.SET k1 $ '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.STRLEN k1 .a.a (integer) 1 127.0.0.1:6379> JSON.STRLEN k1 .a.* (integer) 1 127.0.0.1:6379> JSON.STRLEN k1 .c.* (integer) 1 127.0.0.1:6379> JSON.STRLEN k1 .c.b (integer) 2 127.0.0.1:6379> JSON.STRLEN k1 .d.* (integer) 1