diff --git a/sh/jshn.sh b/sh/jshn.sh index f5cf1d2..78414f0 100644 --- a/sh/jshn.sh +++ b/sh/jshn.sh @@ -92,6 +92,7 @@ _json_close_table() { _json_get_var _s_cur JSON_CUR _json_get_var "${JSON_PREFIX}JSON_CUR" "UP_$_s_cur" + unset "${JSON_PREFIX}UP_$_s_cur" } json_set_namespace() { @@ -258,6 +259,7 @@ json_select() { [[ "$1" == ".." ]] && { _json_get_var cur JSON_CUR _json_get_var cur "UP_$cur" + unset "${JSON_PREFIX}UP_$cur" _json_set_var JSON_CUR "$cur" return 0 } @@ -265,6 +267,7 @@ json_select() { case "$type" in object|array) json_get_var cur "$target" + _json_get_var "${JSON_PREFIX}UP_$cur" JSON_CUR _json_set_var JSON_CUR "$cur" ;; *)