xorm/internal/json/gojson.go
raizen666 5950824e37 Support build flag go-json to replace default json (#1982)
`go build -tags=gojson` to use `github.com/goccy/go-json` as default json handler

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: xorm/xorm#1982
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: raizen666 <raizen666@noreply.gitea.io>
Co-committed-by: raizen666 <raizen666@noreply.gitea.io>
2021-07-19 12:49:50 +08:00

29 lines
611 B
Go

// Copyright 2021 The Xorm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build gojson
package json
import (
gojson "github.com/goccy/go-json"
)
func init() {
DefaultJSONHandler = GOjson{}
}
// GOjson implements JSONInterface via gojson
type GOjson struct{}
// Marshal implements JSONInterface
func (GOjson) Marshal(v interface{}) ([]byte, error) {
return gojson.Marshal(v)
}
// Unmarshal implements JSONInterface
func (GOjson) Unmarshal(data []byte, v interface{}) error {
return gojson.Unmarshal(data, v)
}