From: Philip Prindeville Date: Fri, 14 Apr 2023 18:37:05 +0000 (-0600) Subject: jshn.sh: Add pretty-printing to json_dump X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;ds=sidebyside;h=6fc29d1c429240a9afb71c22aa161b066502f3ed;p=project%2Flibubox.git jshn.sh: Add pretty-printing to json_dump If a JSON file might be read by a human, say for debugging, it could be useful to pretty-print it. We do this in places by calling "json_dump -i" but it shouldn't be necessary to know the arguments to "jshn" (and indeed, that's not portable if we retool the underlying implementation). Conversely output that's ephemeral doesn't need to be pretty (say being piped as input to another command). Signed-off-by: Philip Prindeville --- diff --git a/sh/jshn.sh b/sh/jshn.sh index c973692..1d30557 100644 --- a/sh/jshn.sh +++ b/sh/jshn.sh @@ -199,6 +199,16 @@ json_add_fields() { # functions read access to json variables +json_compact() { + JSON_NONEWLINE=1 + JSON_INDENT= +} + +json_pretty() { + JSON_NONEWLINE= + JSON_INDENT=1 +} + json_load() { eval "`jshn -r "$1"`" } @@ -208,7 +218,7 @@ json_load_file() { } json_dump() { - jshn "$@" ${JSON_PREFIX:+-p "$JSON_PREFIX"} -w + jshn "$@" ${JSON_PREFIX:+-p "$JSON_PREFIX"} ${JSON_NONEWLINE:+-n} ${JSON_INDENT:+-i} -w } json_get_type() {