Răsfoiți Sursa

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 <philipp@redfish-solutions.com>
Philip Prindeville 1 an în urmă
părinte
comite
6fc29d1c42
1 a modificat fișierele cu 11 adăugiri și 1 ștergeri
  1. 11 1
      sh/jshn.sh

+ 11 - 1
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() {