summaryrefslogtreecommitdiff
path: root/compat/json/compat.go
diff options
context:
space:
mode:
Diffstat (limited to 'compat/json/compat.go')
-rw-r--r--compat/json/compat.go18
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
}