content/commands/json.toggle.md
Toggle a Boolean value stored at path
is key to modify.
</details>is JSONPath to specify. Default is root $.
Create a JSON document.
{{< highlight bash >}} redis> JSON.SET doc $ '{"bool": true}' OK {{< / highlight >}}
Toggle the Boolean value.
{{< highlight bash >}} redis> JSON.TOGGLE doc $.bool
Get the updated document.
{{< highlight bash >}} redis> JSON.GET doc $ "[{"bool":false}]" {{< / highlight >}}
Toggle the Boolean value.
{{< highlight bash >}} redis> JSON.TOGGLE doc $.bool
Get the updated document.
{{< highlight bash >}} redis> JSON.GET doc $ "[{"bool":true}]" {{< / highlight >}}
</details>| 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> | |
{{< multitabs id="json-toggle-return-info" 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 new value (0 if false or 1 if true), or null if the matching value is not Boolean.
With .-based path argument: [Integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}) representing the new value (0 if false or 1 if true), or [null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the matching value is not Boolean.
-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 new value (0 if false or 1 if true), or null if the matching value is not Boolean.
With .-based path argument: [Integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}) representing the new value (0 if false or 1 if true), or [null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the matching value is not Boolean.
{{< /multitabs >}}
[JSON.SET]({{< relref "commands/json.set/" >}}) | [JSON.GET]({{< relref "commands/json.get/" >}})