rembrembdocs

Guide for migrating from RESP2 to RESP3 replies

JSON RESP2 to RESP3 replies reference for client developers

In RESP3, the default value of the optional path argument was changed from . to $. Due to this change, the replies of some commands have slightly changed. This page provides a brief comparison between RESP2 and RESP3 responses for JSON commands to help developers in migrating their clients from RESP2 to RESP3.

JSON command replies comparison

The types are described using a "TypeScript-like" syntax. Array<a> denotes an array where the type of elements is known, but the number of elements is not.

Command

RESP2

RESP3

All JSON commands

Default value of optional path argument: .

Default value of optional path argument: $

JSON.ARRAPPEND
JSON.ARRINDEX
JSON.ARRINSERT
JSON.ARRLEN
JSON.ARRTRIM
JSON.OBJLEN
JSON.STRAPPEND
JSON.STRLEN
JSON.TOGGLE

$-based path argument:
Reply: Array<BulkString | null>

.-based path argument : 
Reply: BulkString

$-based path argument: 
Reply: Array<number | null>

.-based path argument :
Reply: number

JSON.GET

Reply: JSON encoded string
Example:
> JSON.SET k $ "[1,2,3]"
> JSON.GET k
"[1,2,3]"

Reply: JSON encoded string with a top-level array
Example:
> JSON.SET k $ "[1,2,3]"
> JSON.GET k
"[[1,2,3]]"

JSON.NUMINCRBY
JSON.NUMMULTBY

$-based path argument:
Reply: JSON-encoded BulkString | null

.-based path argument : 
Reply: BulkString | null | error

$-based path argument:
Reply: Array<number | null> | error

.-based path argument : 
Reply: number | null | error

JSON.OBJKEYS

$-based path argument:
Reply: Array<Array<BulkString>>

.-based path argument : 
Reply: Array<BulkString>

$-based path argument:
Reply: Array<Array<BulkString>>

.-based path argument : 
Reply: Array<BulkString>

JSON.TYPE

$-based path argument:
Reply: Array<BulkString>
Example:
> JSON.TYPE k $
1) "array"

.-based path argument : 
Reply: BulkString

$-based path argument:
Reply: Array<Array<BulkString>>
Example:
> JSON.TYPE k $
1) 1) "array"

.-based path argument : 
Reply: Array<BulkString>

On this page