JSON_ARRAY_APPEND
Syntax
JSON_ARRAY_APPEND(json_doc, path, value[, path, value] ...)
Description
Appends values to the end of the specified arrays within a JSON document, returning the result, or NULL if any of the arguments are NULL.
Evaluation is performed from left to right, with the resulting document from the previous pair becoming the new value against which the next pair is evaluated.
If the json_doc
is not a valid JSON document, or if any of the paths are not valid, or contain a *
or **
wildcard, an error is returned.
Examples
SET @json = '[1, 2, [3, 4]]'; SELECT JSON_ARRAY_APPEND(@json, '$[0]', 5) +-------------------------------------+ | JSON_ARRAY_APPEND(@json, '$[0]', 5) | +-------------------------------------+ | [[1, 5], 2, [3, 4]] | +-------------------------------------+ SELECT JSON_ARRAY_APPEND(@json, '$[1]', 6); +-------------------------------------+ | JSON_ARRAY_APPEND(@json, '$[1]', 6) | +-------------------------------------+ | [1, [2, 6], [3, 4]] | +-------------------------------------+ SELECT JSON_ARRAY_APPEND(@json, '$[1]', 6, '$[2]', 7); +------------------------------------------------+ | JSON_ARRAY_APPEND(@json, '$[1]', 6, '$[2]', 7) | +------------------------------------------------+ | [1, [2, 6], [3, 4, 7]] | +------------------------------------------------+ SELECT JSON_ARRAY_APPEND(@json, '$', 5); +----------------------------------+ | JSON_ARRAY_APPEND(@json, '$', 5) | +----------------------------------+ | [1, 2, [3, 4], 5] | +----------------------------------+ SET @json = '{"A": 1, "B": [2], "C": [3, 4]}'; SELECT JSON_ARRAY_APPEND(@json, '$.B', 5); +------------------------------------+ | JSON_ARRAY_APPEND(@json, '$.B', 5) | +------------------------------------+ | {"A": 1, "B": [2, 5], "C": [3, 4]} | +------------------------------------+
Comments
Comments loading...
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.