diff options
Diffstat (limited to 'src/encoding/json/stream.go')
| -rw-r--r-- | src/encoding/json/stream.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/encoding/json/stream.go b/src/encoding/json/stream.go index b278ee4013..1442ef29ef 100644 --- a/src/encoding/json/stream.go +++ b/src/encoding/json/stream.go @@ -202,7 +202,10 @@ func (enc *Encoder) Encode(v any) error { if enc.err != nil { return enc.err } + e := newEncodeState() + defer encodeStatePool.Put(e) + err := e.marshal(v, encOpts{escapeHTML: enc.escapeHTML}) if err != nil { return err @@ -231,7 +234,6 @@ func (enc *Encoder) Encode(v any) error { if _, err = enc.w.Write(b); err != nil { enc.err = err } - encodeStatePool.Put(e) return err } |
