Berserk Docs
Scalar FunctionsDynamic / JSON Functions

bag_set_key

Return the property bag with the given key set to `value`, inserting or overwriting.

Null or non-bag input yields null.

Syntax

bag_set_key(bag, key, value)

Parameters

Prop

Type

Given a dynamic field

This parameter is string-only. In permissive mode — the default — almost every field arrives as a dynamic, so passing one works because Berserk injects asstring: extract-or-null, the value when it really is a string and null otherwise, so the call yields null (a predicate yields false). A property bag or array is therefore not matched, and tostring() is never applied implicitly — use it explicitly to match a bag's JSON text, keys included. Strict mode rejects the dynamic instead of coercing it. See String coercion and the asXXX family.

Returns: dynamic

Examples

Example 1

print bag_set_key(dynamic({"a":1}), "b", 2)
print_0 (dynamic)
{"a":1,"b":2}

On this page