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>  |