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:
parent
d2223ef9da
commit
ea56013409
1 changed files with 23 additions and 0 deletions
23
sh/jshn.sh
23
sh/jshn.sh
|
@ -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() {
|
||||||
|
|
Loading…
Reference in a new issue