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_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
|
||||
|
||||
json_load() {
|
||||
|
|
Loading…
Reference in a new issue