From 0c925136a73a3867eb05d7d1b579235c2bc4c5af Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 14:51:24 +0300 Subject: [PATCH 01/13] Clarify description and summary for JSON.STRLEN Updated the description and summary to clarify that the command returns the length of JSON strings at multiple paths matching a given path expression. --- content/commands/json.strlen.md | 57 ++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 11 deletions(-) diff --git a/content/commands/json.strlen.md b/content/commands/json.strlen.md index feb26bb300..b94cc52f73 100644 --- a/content/commands/json.strlen.md +++ b/content/commands/json.strlen.md @@ -21,7 +21,7 @@ categories: - clients complexity: O(1) when path is evaluated to a single value, O(N) when path is evaluated to multiple values, where N is the size of the key -description: Returns the length of the JSON String at path in key +description: Returns the length of JSON strings at the paths matching a given path expression group: json hidden: false linkTitle: JSON.STRLEN @@ -29,11 +29,11 @@ module: JSON railroad_diagram: /images/railroad/json.strlen.svg since: 1.0.0 stack_path: docs/data-types/json -summary: Returns the length of the JSON String at path in key +summary: Returns the length of JSON strings at the paths matching a given path expression syntax_fmt: JSON.STRLEN key [path] title: JSON.STRLEN --- -Report the length of the JSON String at `path` in `key` +Returns the length of JSON strings at the paths matching a given path expression. [Examples](#examples) @@ -41,14 +41,26 @@ Report the length of the JSON String at `path` in `key`
key -is key to parse. +is a Redis key storing a value of type JSON. +
## Optional arguments
path -is JSONPath to specify. Default is root `$`, if not provided. Returns null if the `key` or `path` do not exist. +is either + +- A JSONPath expression + - The root "`$`", or any string that starts with "`$.`" or "`$[`". + - Resolves to all matching locations in `key`. +- A legacy path expression + - Any string that does not match the JSONPath syntax above. + - Allow the leading "`.`" to be omitted (for example, "`name`" and "`.name`" are equivalent). + - Resolves to only the first matching location in `key`. + +Default: "`.`" (legacy path pointing to the root of the document). +
## Examples @@ -74,23 +86,46 @@ redis> JSON.STRLEN doc $..a tab1="RESP2" tab2="RESP3" >}} -With `$`-based path argument: [Array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) of [integer replies]({{< relref "/develop/reference/protocol-spec#integers" >}}) or [null replies]({{< relref "/develop/reference/protocol-spec#nulls" >}}), where each element is the string's length, or `null` if the matching value is not a string. +If `path` is a JSONPath expression: -With `.`-based path argument: [Integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}) representing the string's length, or [null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the matching value is not a string. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. +- An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. +- An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: + - [`nil`]({{< relref "/develop/reference/protocol-spec#null-bulk-strings" >}}) if the match is not a string. + - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the length of the string. + +If `path` is a legacy path expression: + +- [`nil`]({{< relref "/develop/reference/protocol-spec#null-bulk-strings" >}}) if `key` does not exist. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `path` has no matches. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if the first match is not a string. +- An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the length of the string at the first match. -tab-sep- -With `$`-based path argument (default): [Array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) of [integer replies]({{< relref "/develop/reference/protocol-spec#integers" >}}) or [null replies]({{< relref "/develop/reference/protocol-spec#nulls" >}}), where each element is the string's length, or `null` if the matching value is not a string. +If `path` is a JSONPath expression: + +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. +- An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. +- An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: + - [`nil`]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. + - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the length of the string. + +If `path` is a legacy path expression: -With `.`-based path argument: [Integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}) representing the string's length, or [null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the matching value is not a string. +- [`nil`]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if `key` does not exist. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `path` has no matches. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if the first match is not a string. +- An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the length of the string at the first match. {{< /multitabs >}} ## See also -[`JSON.ARRLEN`]({{< relref "commands/json.arrlen/" >}}) | [`JSON.ARRINSERT`]({{< relref "commands/json.arrinsert/" >}}) +[`JSON.STRAPPEND`]({{< relref "commands/json.strappend/" >}}) | [`JSON.ARRLEN`]({{< relref "commands/json.arrlen/" >}}) | [`JSON.OBJLEN`]({{< relref "commands/json.objlen/" >}}) ## Related topics -* [RedisJSON]({{< relref "/develop/data-types/json/" >}}) +* [The JSON data type]({{< relref "/develop/data-types/json/" >}}) +* [JSONPath]({{< relref "/develop/data-types/json/path" >}}) * [Index and search JSON documents]({{< relref "/develop/ai/search-and-query/indexing/" >}}) From 12a3859e4e2b3454f5439c1645cfbf0f935e4347 Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 15:16:52 +0300 Subject: [PATCH 02/13] Clarify description and summary for JSON.STRAPPEND Updated the description and summary to clarify that the command appends a string to JSON strings at paths matching a given path expression. --- content/commands/json.strappend.md | 68 +++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 19 deletions(-) diff --git a/content/commands/json.strappend.md b/content/commands/json.strappend.md index f6444f3027..efad239f0a 100644 --- a/content/commands/json.strappend.md +++ b/content/commands/json.strappend.md @@ -23,7 +23,7 @@ categories: - clients complexity: O(1) when path is evaluated to a single value, O(N) when path is evaluated to multiple values, where N is the size of the key -description: Appends a string to a JSON string value at path +description: Appends a string to JSON strings at the paths matching a given path expression group: json hidden: false linkTitle: JSON.STRAPPEND @@ -31,11 +31,11 @@ module: JSON railroad_diagram: /images/railroad/json.strappend.svg since: 1.0.0 stack_path: docs/data-types/json -summary: Appends a string to a JSON string value at path +summary: Appends a string to JSON strings at the paths matching a given path expression syntax_fmt: JSON.STRAPPEND key [path] value title: JSON.STRAPPEND --- -Append the `json-string` values to the string at `path` +Appends a string to JSON strings at the paths matching a given path expression. [Examples](#examples) @@ -43,23 +43,31 @@ Append the `json-string` values to the string at `path`
key -is key to modify. +is a Redis key storing a value of type JSON. +
-
value +
path -is value to append to one or more strings. +is either + +- A JSONPath expression + - The root "`$`", or any string that starts with "`$.`" or "`$[`". + - Resolves to all matching locations in `key`. +- A legacy path expression + - Any string that does not match the JSONPath syntax above. + - Allow the leading "`.`" to be omitted (for example, "`name`" and "`.name`" are equivalent). + - Resolves to only the first matching location in `key`. -{{% alert title="About using strings with JSON commands" color="warning" %}} -To specify a string as an array value to append, wrap the quoted string with an additional set of single quotes. Example: `'"silver"'`. For more detailed use, see [Examples](#examples). -{{% /alert %}}
-## Optional arguments +
value -
path +is a string to append to the JSON strings at the paths matching `path`. -is JSONPath to specify. Default is root `$`. +{{% alert title="About using strings with JSON commands" color="warning" %}} +To specify a string as an array value to append, wrap the quoted string with an additional set of single quotes. Example: `'"silver"'`. For more detailed use, see [Examples](#examples). +{{% /alert %}}
## Examples @@ -87,24 +95,46 @@ redis> JSON.GET doc $ tab1="RESP2" tab2="RESP3" >}} -With `$`-based path argument: [Array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) of [integer replies]({{< relref "/develop/reference/protocol-spec#integers" >}}) or [null replies]({{< relref "/develop/reference/protocol-spec#nulls" >}}), where each element is the string's new length, or `null` if the matching value is not a string. +If `path` is a JSONPath expression: + +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. +- An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. +- An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: + - [`nil`]({{< relref "/develop/reference/protocol-spec#null-bulk-strings" >}}) if the match is not a string. + - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the new length of the string. -With `.`-based path argument: [Integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}) representing the string's new length, or [null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the matching value is not a string. +If `path` is a legacy path expression: + +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `path` has no matches. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if the first match is not a string. +- An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the new length of the string at the first match. -tab-sep- -With `$`-based path argument (default): [Array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) of [integer replies]({{< relref "/develop/reference/protocol-spec#integers" >}}) or [null replies]({{< relref "/develop/reference/protocol-spec#nulls" >}}), where each element is the string's new length, or `null` if the matching value is not a string. +If `path` is a JSONPath expression: + +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. +- An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. +- An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: + - [`nil`]({{< relref "/develop/reference/protocol-spec#null-bulk-strings" >}}) if the match is not a string. + - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the new length of the string. -With `.`-based path argument: [Integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}) representing the string's new length, or [null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the matching value is not a string. +If `path` is a legacy path expression: + +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `path` has no matches. +- A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if the first match is not a string. +- An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the new length of the string at the first match. {{< /multitabs >}} ## See also -`JSON.ARRAPEND` | [`JSON.ARRINSERT`]({{< relref "commands/json.arrinsert/" >}}) +[`JSON.STRLEN`]({{< relref "commands/json.strlen/" >}}) | [`JSON.ARRAPPEND`]({{< relref "commands/json.arrappend/" >}}) ## Related topics -* [RedisJSON]({{< relref "/develop/data-types/json/" >}}) +* [The JSON data type]({{< relref "/develop/data-types/json/" >}}) +* [JSONPath]({{< relref "/develop/data-types/json/path" >}}) * [Index and search JSON documents]({{< relref "/develop/ai/search-and-query/indexing/" >}}) - From ea524056af83012d0dce5300d519ce2124c3c46b Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 15:21:09 +0300 Subject: [PATCH 03/13] Update description and summary for json.objkeys.md --- content/commands/json.objkeys.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/commands/json.objkeys.md b/content/commands/json.objkeys.md index 3754999dcc..65149f35ef 100644 --- a/content/commands/json.objkeys.md +++ b/content/commands/json.objkeys.md @@ -22,7 +22,7 @@ categories: complexity: O(N) when path is evaluated to a single value, where N is the number of keys in the object, O(N) when path is evaluated to multiple values, where N is the size of the key -description: Returns the key names of JSON objects located at the paths that match a given path expression +description: Returns the key names of JSON objects located at the paths matching a given path expression group: json hidden: false linkTitle: JSON.OBJKEYS @@ -30,11 +30,11 @@ module: JSON railroad_diagram: /images/railroad/json.objkeys.svg since: 1.0.0 stack_path: docs/data-types/json -summary: Returns the key names of JSON objects located at the paths that match a given path expression +summary: Returns the key names of JSON objects located at the paths matching a given path expression syntax_fmt: JSON.OBJKEYS key [path] title: JSON.OBJKEYS --- -Returns the key names of JSON objects located at the paths that match a given path expression. +Returns the key names of JSON objects located at the paths matching a given path expression. {{< note >}} A JSON object is a structure within a JSON document that contains an unordered set of key-value pairs (also called name-value pairs). Do not confuse Redis keys with JSON object keys. From 2ca0ae79f6e10d27c6afb21f9e08b92289f26f16 Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 15:21:50 +0300 Subject: [PATCH 04/13] Update description and summary for JSON.OBJLEN --- content/commands/json.objlen.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/commands/json.objlen.md b/content/commands/json.objlen.md index c2ebc636e5..f3f9fa96f6 100644 --- a/content/commands/json.objlen.md +++ b/content/commands/json.objlen.md @@ -21,7 +21,7 @@ categories: - clients complexity: O(1) when path is evaluated to a single value, O(N) when path is evaluated to multiple values, where N is the size of the key -description: Returns the number of keys in JSON objects located at the paths that match a given path expression +description: Returns the number of keys in JSON objects located at the paths matching a given path expression group: json hidden: false linkTitle: JSON.OBJLEN @@ -29,11 +29,11 @@ module: JSON railroad_diagram: /images/railroad/json.objlen.svg since: 1.0.0 stack_path: docs/data-types/json -summary: Returns the number of keys in JSON objects located at the paths that match a given path expression +summary: Returns the number of keys in JSON objects located at the paths matching a given path expression syntax_fmt: JSON.OBJLEN key [path] title: JSON.OBJLEN --- -Returns the number of keys in JSON objects located at the paths that match a given path expression. +Returns the number of keys in JSON objects located at the paths matching a given path expression. {{< note >}} A JSON object is a structure within a JSON document that contains an unordered set of key-value pairs (also called name-value pairs). Do not confuse Redis keys with JSON object keys. From 87adc6dc1cc885cb7db80f3ba130c6094500d2b2 Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 15:23:26 +0300 Subject: [PATCH 05/13] Update description and summary for json.objkeys.md --- content/commands/json.objkeys.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/commands/json.objkeys.md b/content/commands/json.objkeys.md index 65149f35ef..027449b427 100644 --- a/content/commands/json.objkeys.md +++ b/content/commands/json.objkeys.md @@ -22,7 +22,7 @@ categories: complexity: O(N) when path is evaluated to a single value, where N is the number of keys in the object, O(N) when path is evaluated to multiple values, where N is the size of the key -description: Returns the key names of JSON objects located at the paths matching a given path expression +description: Returns the key names of JSON objects at the paths matching a given path expression group: json hidden: false linkTitle: JSON.OBJKEYS @@ -30,11 +30,11 @@ module: JSON railroad_diagram: /images/railroad/json.objkeys.svg since: 1.0.0 stack_path: docs/data-types/json -summary: Returns the key names of JSON objects located at the paths matching a given path expression +summary: Returns the key names of JSON objects at the paths matching a given path expression syntax_fmt: JSON.OBJKEYS key [path] title: JSON.OBJKEYS --- -Returns the key names of JSON objects located at the paths matching a given path expression. +Returns the key names of JSON objects at the paths matching a given path expression. {{< note >}} A JSON object is a structure within a JSON document that contains an unordered set of key-value pairs (also called name-value pairs). Do not confuse Redis keys with JSON object keys. From b7f23e651d3496b7f8aeea869fa85345886a38a3 Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 15:24:01 +0300 Subject: [PATCH 06/13] Fix description and summary wording in json.objlen.md --- content/commands/json.objlen.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/commands/json.objlen.md b/content/commands/json.objlen.md index f3f9fa96f6..40637ebd80 100644 --- a/content/commands/json.objlen.md +++ b/content/commands/json.objlen.md @@ -21,7 +21,7 @@ categories: - clients complexity: O(1) when path is evaluated to a single value, O(N) when path is evaluated to multiple values, where N is the size of the key -description: Returns the number of keys in JSON objects located at the paths matching a given path expression +description: Returns the number of keys in JSON objects at the paths matching a given path expression group: json hidden: false linkTitle: JSON.OBJLEN @@ -29,11 +29,11 @@ module: JSON railroad_diagram: /images/railroad/json.objlen.svg since: 1.0.0 stack_path: docs/data-types/json -summary: Returns the number of keys in JSON objects located at the paths matching a given path expression +summary: Returns the number of keys in JSON objects at the paths matching a given path expression syntax_fmt: JSON.OBJLEN key [path] title: JSON.OBJLEN --- -Returns the number of keys in JSON objects located at the paths matching a given path expression. +Returns the number of keys in JSON objects at the paths matching a given path expression. {{< note >}} A JSON object is a structure within a JSON document that contains an unordered set of key-value pairs (also called name-value pairs). Do not confuse Redis keys with JSON object keys. From c7ba1add1e60fc463b0196439d514f01f2e336e2 Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 19:04:56 +0300 Subject: [PATCH 07/13] 'path' is optional --- content/commands/json.strappend.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/content/commands/json.strappend.md b/content/commands/json.strappend.md index efad239f0a..e801a08ecf 100644 --- a/content/commands/json.strappend.md +++ b/content/commands/json.strappend.md @@ -47,6 +47,17 @@ is a Redis key storing a value of type JSON.
+
value + +is a string to append to the JSON strings at the paths matching `path`. + +{{% alert title="About using strings with JSON commands" color="warning" %}} +To specify a string as an array value to append, wrap the quoted string with an additional set of single quotes. Example: `'"silver"'`. For more detailed use, see [Examples](#examples). +{{% /alert %}} +
+ +## Optional arguments +
path is either @@ -58,18 +69,11 @@ is either - Any string that does not match the JSONPath syntax above. - Allow the leading "`.`" to be omitted (for example, "`name`" and "`.name`" are equivalent). - Resolves to only the first matching location in `key`. + +Default: "`.`" (legacy path pointing to the root of the document).
-
value - -is a string to append to the JSON strings at the paths matching `path`. - -{{% alert title="About using strings with JSON commands" color="warning" %}} -To specify a string as an array value to append, wrap the quoted string with an additional set of single quotes. Example: `'"silver"'`. For more detailed use, see [Examples](#examples). -{{% /alert %}} -
- ## Examples {{< highlight bash >}} From aa6952edd5bbca69739059591df1be1e587faee2 Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 19:35:47 +0300 Subject: [PATCH 08/13] Apply suggestion from @dwdougherty Co-authored-by: David Dougherty --- content/commands/json.strappend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/commands/json.strappend.md b/content/commands/json.strappend.md index e801a08ecf..c91151c810 100644 --- a/content/commands/json.strappend.md +++ b/content/commands/json.strappend.md @@ -121,7 +121,7 @@ If `path` is a JSONPath expression: - A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. - An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. - An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: - - [`nil`]({{< relref "/develop/reference/protocol-spec#null-bulk-strings" >}}) if the match is not a string. + - [`nil`]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the new length of the string. If `path` is a legacy path expression: From cf913369c2d34ab2a55ee39627bdf791a643c33d Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 19:57:23 +0300 Subject: [PATCH 09/13] Update json.strappend.md --- content/commands/json.strappend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/commands/json.strappend.md b/content/commands/json.strappend.md index c91151c810..acb8edb144 100644 --- a/content/commands/json.strappend.md +++ b/content/commands/json.strappend.md @@ -121,7 +121,7 @@ If `path` is a JSONPath expression: - A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. - An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. - An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: - - [`nil`]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. + - [Null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the new length of the string. If `path` is a legacy path expression: From 0a66b0b0a5fb344bccce6cf7954b862de3407fdb Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 20:02:22 +0300 Subject: [PATCH 10/13] Update terminology for null reply in json.strlen.md --- content/commands/json.strlen.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/commands/json.strlen.md b/content/commands/json.strlen.md index b94cc52f73..bcbded8d9b 100644 --- a/content/commands/json.strlen.md +++ b/content/commands/json.strlen.md @@ -108,7 +108,7 @@ If `path` is a JSONPath expression: - A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. - An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. - An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: - - [`nil`]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. + - [Null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the length of the string. If `path` is a legacy path expression: From 7b300a64a308ffd88d1982fab519a2be05338860 Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 20:03:35 +0300 Subject: [PATCH 11/13] Fix formatting for null reply in json.strlen.md --- content/commands/json.strlen.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/commands/json.strlen.md b/content/commands/json.strlen.md index bcbded8d9b..be4d5cab35 100644 --- a/content/commands/json.strlen.md +++ b/content/commands/json.strlen.md @@ -108,7 +108,7 @@ If `path` is a JSONPath expression: - A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. - An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. - An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: - - [Null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. + - A [Null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the length of the string. If `path` is a legacy path expression: From c1ba4d340cbd5c6e3be8a2e09364c68e8cdf4c18 Mon Sep 17 00:00:00 2001 From: Lior Kogan Date: Fri, 10 Apr 2026 20:04:04 +0300 Subject: [PATCH 12/13] Fix formatting of null reply description in json.strappend.md --- content/commands/json.strappend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/commands/json.strappend.md b/content/commands/json.strappend.md index acb8edb144..1a80dff270 100644 --- a/content/commands/json.strappend.md +++ b/content/commands/json.strappend.md @@ -121,7 +121,7 @@ If `path` is a JSONPath expression: - A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. - An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. - An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: - - [Null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. + - A [Null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the new length of the string. If `path` is a legacy path expression: From 9bc3cab0b32e65d30891901cc51508a13d1697f7 Mon Sep 17 00:00:00 2001 From: David Dougherty Date: Fri, 10 Apr 2026 11:48:00 -0700 Subject: [PATCH 13/13] A couple of minor editorial changes. Co-authored-by: David Dougherty --- content/commands/json.strappend.md | 2 +- content/commands/json.strlen.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/commands/json.strappend.md b/content/commands/json.strappend.md index 1a80dff270..c91151c810 100644 --- a/content/commands/json.strappend.md +++ b/content/commands/json.strappend.md @@ -121,7 +121,7 @@ If `path` is a JSONPath expression: - A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. - An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. - An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: - - A [Null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. + - [`nil`]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the new length of the string. If `path` is a legacy path expression: diff --git a/content/commands/json.strlen.md b/content/commands/json.strlen.md index be4d5cab35..815e58700d 100644 --- a/content/commands/json.strlen.md +++ b/content/commands/json.strlen.md @@ -108,7 +108,7 @@ If `path` is a JSONPath expression: - A [simple error]({{< relref "/develop/reference/protocol-spec#simple-errors" >}}) if `key` does not exist. - An empty [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) if `path` has no matches. - An [array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) where each array element corresponds to one match: - - A [Null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. + - [`nil`]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the match is not a string. - An [integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}): the length of the string. If `path` is a legacy path expression: