json_replace

SinceVersion dev

Description

Syntax

VARCHAR json_replace(VARCHAR json_str, VARCHAR path, VARCHAR val[, VARCHAR path, VARCHAR val] ...)

json_replace function updates data in a JSON and returns the result.Returns NULL if json_str or path is NULL. Otherwise, an error occurs if the json_str argument is not a valid JSON or any path argument is not a valid path expression or contains a * wildcard.

The path-value pairs are evaluated left to right.

A path-value pair for an existing path in the json overwrites the existing json value with the new value.

Otherwise, a path-value pair for a nonexisting path in the json is ignored and has no effect.

example

1. MySQL> select json_replace(null, null, null);
2. +----------------------------------+
3. | json_replace(NULL, NULL, 'NULL') |
4. +----------------------------------+
5. | NULL                             |
6. +----------------------------------+

8. MySQL> select json_replace('{"k": 1}', "$.k", 2);
9. +----------------------------------------+
10. | json_replace('{\"k\": 1}', '$.k', '2') |
11. +----------------------------------------+
12. | {"k":2}                                |
13. +----------------------------------------+

15. MySQL> select json_replace('{"k": 1}', "$.j", 2);
16. +----------------------------------------+
17. | json_replace('{\"k\": 1}', '$.j', '2') |
18. +----------------------------------------+
19. | {"k":1}                                |
20. +----------------------------------------+

keywords

JSON, json_replace