Skip to content

[FEATURE] Add json_set function to PPL #3214

Open
@acarbonetto

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.

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?

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions