Skip to content

Commit 8717756

Browse files
committed
Merge branch 'json-prettyprint'
2 parents bc8a3d1 + 5aa4d30 commit 8717756

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

json/jsonCommon.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ var (
1515
wordMapClose = []byte("}")
1616
wordColon = []byte(":")
1717
wordComma = []byte(",")
18+
wordSpace = []byte(" ")
1819
)

json/jsonEncoder.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,11 @@ func (d *Encoder) Step(tok *Token) (done bool, err error) {
7676
case TArrOpen:
7777
return true, fmt.Errorf("unexpected arrOpen; expected start of key or end of map")
7878
case TMapClose:
79-
d.wr.Write(d.cfg.Line)
80-
for i := 1; i < len(d.stack); i++ {
81-
d.wr.Write(d.cfg.Indent)
79+
if d.some {
80+
d.wr.Write(d.cfg.Line)
81+
for i := 1; i < len(d.stack); i++ {
82+
d.wr.Write(d.cfg.Indent)
83+
}
8284
}
8385
d.wr.Write(wordMapClose)
8486
return d.popPhase()
@@ -91,6 +93,9 @@ func (d *Encoder) Step(tok *Token) (done bool, err error) {
9193
d.entrySep()
9294
d.emitString(tok.Str)
9395
d.wr.Write(wordColon)
96+
if d.cfg.Line != nil {
97+
d.wr.Write(wordSpace)
98+
}
9499
d.current = phase_mapExpectValue
95100
return false, nil
96101
default:
@@ -132,9 +137,11 @@ func (d *Encoder) Step(tok *Token) (done bool, err error) {
132137
case TMapClose:
133138
return true, fmt.Errorf("unexpected mapClose; expected start of value or end of array")
134139
case TArrClose:
135-
d.wr.Write(d.cfg.Line)
136-
for i := 1; i < len(d.stack); i++ {
137-
d.wr.Write(d.cfg.Indent)
140+
if d.some {
141+
d.wr.Write(d.cfg.Line)
142+
for i := 1; i < len(d.stack); i++ {
143+
d.wr.Write(d.cfg.Indent)
144+
}
138145
}
139146
d.wr.Write(wordArrClose)
140147
return d.popPhase()

0 commit comments

Comments
 (0)