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