refactor(json): Restore gin support for app engine

Create new folder to support multiple json package.
restore gin support for app engine (disable jsonite through tags)

use jsoniter

$ go build -tags=jsoniter .

use default json

$ go build .

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi Wu 2017-07-17 10:03:45 +08:00
parent 7180f2ba62
commit 4ef1d800c3
6 changed files with 39 additions and 8 deletions

View File

@ -7,11 +7,10 @@ package binding
import (
"net/http"
"github.com/json-iterator/go"
"github.com/gin-gonic/gin/json"
)
var (
json = jsoniter.ConfigCompatibleWithStandardLibrary
EnableDecoderUseNumber = false
)

View File

@ -9,11 +9,9 @@ import (
"fmt"
"reflect"
"github.com/json-iterator/go"
"github.com/gin-gonic/gin/json"
)
var json = jsoniter.ConfigCompatibleWithStandardLibrary
type ErrorType uint64
const (

View File

@ -8,6 +8,7 @@ import (
"errors"
"testing"
"github.com/gin-gonic/gin/json"
"github.com/stretchr/testify/assert"
)

17
json/json_base.go Normal file
View File

@ -0,0 +1,17 @@
// Copyright 2017 Bo-Yi Wu. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
//+build !jsoniter
package json
import (
"encoding/json"
)
var (
Marshal = json.Marshal
MarshalIndent = json.MarshalIndent
NewDecoder = json.NewDecoder
)

18
json/json_iter.go Normal file
View File

@ -0,0 +1,18 @@
// Copyright 2017 Bo-Yi Wu. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
//+build jsoniter
package json
import (
"github.com/json-iterator/go"
)
var (
json = jsoniter.ConfigCompatibleWithStandardLibrary
Marshal = json.Marshal
MarshalIndent = json.MarshalIndent
NewDecoder = json.NewDecoder
)

View File

@ -8,11 +8,9 @@ import (
"bytes"
"net/http"
"github.com/json-iterator/go"
"github.com/gin-gonic/gin/json"
)
var json = jsoniter.ConfigCompatibleWithStandardLibrary
type JSON struct {
Data interface{}
}