Skip to content

Commit 6479360

Browse files
committed
optimize: use sonic instead of encoding/json
1 parent 9a7e600 commit 6479360

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

json.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
package websocket
99

1010
import (
11-
"encoding/json"
11+
"github.com/bytedance/sonic"
1212
"io"
1313
)
1414

@@ -21,7 +21,7 @@ func (c *Conn) WriteJSON(v interface{}) error {
2121
if err != nil {
2222
return err
2323
}
24-
err1 := json.NewEncoder(w).Encode(v)
24+
err1 := sonic.ConfigDefault.NewEncoder(w).Encode(v)
2525
err2 := w.Close()
2626
if err1 != nil {
2727
return err1
@@ -39,7 +39,7 @@ func (c *Conn) ReadJSON(v interface{}) error {
3939
if err != nil {
4040
return err
4141
}
42-
err = json.NewDecoder(r).Decode(v)
42+
err = sonic.ConfigDefault.NewDecoder(r).Decode(v)
4343
if err == io.EOF {
4444
// One value is expected in the message.
4545
err = io.ErrUnexpectedEOF

json_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ package websocket
99

1010
import (
1111
"bytes"
12-
"encoding/json"
12+
"errors"
13+
"github.com/bytedance/sonic"
14+
"github.com/bytedance/sonic/decoder"
1315
"io"
1416
"reflect"
1517
"testing"
@@ -56,7 +58,7 @@ func TestPartialJSONRead(t *testing.T) {
5658

5759
// Partial JSON values.
5860

59-
data, err := json.Marshal(v)
61+
data, err := sonic.Marshal(v)
6062
if err != nil {
6163
t.Fatal(err)
6264
}
@@ -82,7 +84,7 @@ func TestPartialJSONRead(t *testing.T) {
8284

8385
for i := 0; i < messageCount; i++ {
8486
err := rc.ReadJSON(&v)
85-
if err != io.ErrUnexpectedEOF {
87+
if err != io.ErrUnexpectedEOF && !errors.As(err, &decoder.SyntaxError{}) {
8688
t.Error("read", i, err)
8789
}
8890
}

0 commit comments

Comments
 (0)