diff options
Diffstat (limited to 'jp')
| -rwxr-xr-x | jp | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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) "}" } } |
