Open
Description
Is your feature request related to a problem?
As part of the RFC to add JSON functions, the json_set
function would be useful to set or update elements of an existing json_object.
- META RFC: [META]Add PPL
JSON
extended functions support #3027 - PPL RFC: [RFC] Add PPL
JSON
extended functions support #3028 - Related Spark PPL PR: Support PPL
JSON
functions: construction and extraction opensearch-spark#780
What solution would you like?
### `JSON_SET`
**Description**
`json_set(doc, path, value [, path, value]...)` Updates existing or adds new json elements to a json document at the specified paths. Returns the updated document.
**Arguments type:** JSON_OBJECT, STRING, STRING | JSON_OBJECT | JSON_ARRAY, ...
**Return type:** JSON_OBJECT
Example:
os> source=people | eval updated = json_set('{"a":[{"b":1},{"b":2}]}', '$.a[*].b', 3) | head 1 | fields updated
fetched rows / total rows = 1/1
+-------------------------+
| updated |
+-------------------------+
| {"a":[{"b":3},{"b":3}]} |
+-------------------------+
What alternatives have you considered?
N/A
Do you have any additional context?