Back to Redis

JSON.RESP

content/commands/json.resp.md

latest3.5 KB
Original Source

Return the JSON in key in [Redis serialization protocol specification]({{< relref "/develop/reference/protocol-spec" >}}) form

Examples

Required arguments

<details open><summary><code>key</code></summary>

is key to parse.

</details>

Optional arguments

<details open><summary><code>path</code></summary>

is JSONPath to specify. Default is root $. This command uses the following mapping from JSON to RESP:

  • JSON null maps to the bulk string reply.
  • JSON false and true values map to the simple string reply.
  • JSON number maps to the integer reply or bulk string reply, depending on type.
  • JSON string maps to the bulk string reply.
  • JSON array is represented as an array reply in which the first element is the simple string reply [, followed by the array's elements.
  • JSON object is represented as an array reply in which the first element is the simple string reply {. Each successive entry represents a key-value pair as a two-entry array reply of the bulk string reply.

For more information about replies, see [Redis serialization protocol specification]({{< relref "/develop/reference/protocol-spec" >}}).

</details>

Examples

<details open> <summary><b>Return an array of RESP details about a document</b></summary>

Create a JSON document.

{{< highlight bash >}} redis> JSON.SET item:2 $ '{"name":"Wireless earbuds","description":"Wireless Bluetooth in-ear headphones","connection":{"wireless":true,"type":"Bluetooth"},"price":64.99,"stock":17,"colors":["black","white"], "max_level":[80, 100, 120]}' OK {{< / highlight >}}

Get all RESP details about the document.

{{< highlight bash >}} redis> JSON.RESP item:2

  1. {
  2. "name"
  3. "Wireless earbuds"
  4. "description"
  5. "Wireless Bluetooth in-ear headphones"
  6. "connection"
    1. {
    2. "wireless"
    3. true
    4. "type"
    5. "Bluetooth"
  7. "price"
  8. "64.989999999999995"
  9. "stock"
  10. (integer) 17
  11. "colors"
    1. [
    2. "black"
    3. "white"
  12. "max_level"
    1. [
    2. (integer) 80
    3. (integer) 100
    4. (integer) 120 {{< / highlight >}}
</details>

Redis Software and Redis Cloud compatibility

| Redis Software | Redis Cloud | <span style="min-width: 9em; display: table-cell">Notes</span> | |:----------------------|:-----------------|:------| | <span title="Supported">✅ Supported</span> | <span title="Supported">✅ Flexible & Annual</span> <span title="Supported">✅ Free & Fixed</nobr></span> | |

Return information

{{< multitabs id="json-resp-return-info" tab1="RESP2" tab2="RESP3" >}}

[Array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) representing the JSON value in RESP form, as detailed in the [Redis serialization protocol specification]({{< relref "/develop/reference/protocol-spec" >}}). The mapping from JSON to RESP follows the rules described in the command arguments.

-tab-sep-

[Array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) representing the JSON value in RESP form, as detailed in the [Redis serialization protocol specification]({{< relref "/develop/reference/protocol-spec" >}}). The mapping from JSON to RESP follows the rules described in the command arguments.

{{< /multitabs >}}

See also

[JSON.SET]({{< relref "commands/json.set/" >}}) | [JSON.ARRLEN]({{< relref "commands/json.arrlen/" >}})

  • [RedisJSON]({{< relref "/develop/data-types/json/" >}})
  • [Index and search JSON documents]({{< relref "/develop/ai/search-and-query/indexing/" >}})