Use JSON.RESP to get a JSON value in RESP form instead of as JSON text.
The document is translated structurally: an object becomes an array whose first element is { followed by alternating field names and values, an array becomes an array whose first element is [ followed by its elements, and scalars become the corresponding RESP types. Nested values are translated the same way, recursively.
This lets a client walk the structure using the protocol types it already decodes, without running a JSON parser on the reply. For ordinary use, JSON.GET is the more convenient command.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
key | Yes | No | JSON document key. |
path | No | No | Path to convert; 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 | Nested array, Integer, Bulk string, Simple string (true or false for JSON booleans), or Null bulk string or null array |
| RESP3 | Nested array, Integer, Bulk string, Simple string (true or false for JSON booleans), 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.