diff options
Diffstat (limited to 'compat')
-rw-r--r-- | compat/json/compat.go | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/compat/json/compat.go b/compat/json/compat.go index b26914b..04dfb24 100644 --- a/compat/json/compat.go +++ b/compat/json/compat.go @@ -67,8 +67,9 @@ func HTMLEscape(dst *bytes.Buffer, src []byte) { func Compact(dst *bytes.Buffer, src []byte) error { formatter := &lowmemjson.ReEncoder{ - Out: dst, - Compact: true, + Out: dst, + Compact: true, + BackslashEscape: lowmemjson.EscapePreserve, } _, err := formatter.Write(src) return err @@ -76,11 +77,18 @@ func Compact(dst *bytes.Buffer, src []byte) error { func Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error { formatter := &lowmemjson.ReEncoder{ - Out: dst, - Indent: indent, - Prefix: prefix, + Out: dst, + Indent: indent, + Prefix: prefix, + BackslashEscape: lowmemjson.EscapePreserve, } _, err := formatter.Write(src) + if se, ok := err.(*lowmemjson.ReEncodeSyntaxError); ok { + err = &SyntaxError{ + msg: se.Err.Error(), + Offset: se.Offset + 1, + } + } return err } |