summaryrefslogtreecommitdiff
path: root/jp
diff options
context:
space:
mode:
Diffstat (limited to 'jp')
-rwxr-xr-xjp4
1 files changed, 3 insertions, 1 deletions
diff --git a/jp b/jp
index 28cd767..e1efe2b 100755
--- a/jp
+++ b/jp
@@ -17,7 +17,7 @@ BEGIN {
if (err = parse(v, "", line)) print "parse err: " err
for (k in v) print k " " v[k]
print "---"
- print format(v, "", 0)
+ print format(v, "", 1)
exit ERROR != 0
} else file = ARGV[1]
delete ARGV[1]
@@ -144,6 +144,7 @@ function format(values, key, indent, id, c, i, s, v, pre, post, sp) {
if (i) s = s "," post
s = s pre format(values, key SUBSEP i, indent ? indent+1 : 0)
}
+ if (substr(s, length(s)-2, 1) == "[") return id substr(s, 1, length(s)-1) "]"
return id s post substr(pre, 3) "]"
}
if (c == "o") {
@@ -154,6 +155,7 @@ function format(values, key, indent, id, c, i, s, v, pre, post, sp) {
v = tail(v, SUBSEP)
s = s pre "\"" HEAD "\":" sp format(values, key SUBSEP i, indent ? indent+1 : 0)
}
+ if (substr(s, length(s)-2, 1) == "{") return id substr(s, 1, length(s)-1) "}"
return id s post substr(pre, 3) "}"
}
}