jshn.sh: add json_add_fields function for adding multiple fields at once

This simplifies passing extra object data as a function parameter

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2022-09-27 14:17:51 +02:00
parent d2223ef9da
commit ea56013409

View file

@ -174,6 +174,29 @@ json_add_null() {
_json_add_generic null "$1" "" "$cur" _json_add_generic null "$1" "" "$cur"
} }
json_add_fields() {
while [ "$#" -gt 0 ]; do
local field="$1"
shift
local name="${field%%=*}"
local val="${field#*=}"
[ "$name" != "$val" ] || val=""
local type="${name#*:}"
[ "$type" != "$name" ] || type=string
name="${name%%:*}"
case "$type" in
string|int|boolean|double)
local cur
_json_get_var cur JSON_CUR
_json_add_generic "$type" "$name" "$val" "$cur"
;;
esac
done
}
# functions read access to json variables # functions read access to json variables
json_load() { json_load() {