Use JSON.STRLEN to get the length of the string values a path selects.
Without a path the root value is used. The reply holds one length per match, with null for matches that are not strings, so it is also a quick way to check that a field is a string. The value itself is not transferred, which makes it cheap even for long strings.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
key | Yes | No | JSON document key. |
path | No | No | Path selecting strings; defaults to the root. |
Important points#
- Raw TCP examples pass JSON values as valid JSON text. Typed Upstash SDK helpers serialize native objects and values for you.
- Paths beginning with
$use JSONPath and can match multiple values, so many JSON commands return an array of per-match results.
Response#
The reply reports the result of the operation. Error replies have the same shape in RESP2 and RESP3 and are surfaced as exceptions by the SDKs below.
| Protocol | Reply |
|---|---|
| RESP2 | Integer, array of integer lengths or null values, or Null bulk string or null array |
| RESP3 | Integer, array of integer lengths or null values, or Null |
Client libraries often decode bulk strings, maps, sets, and numeric strings into language-native values. The table describes the Redis wire reply.
Examples#
TCP examples use the TLS REDIS_URL from the Upstash console. REST examples use UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN.