feat(binding): add UseNumber() in gin.Context.BindJSON() (#997) close #368

* resolve #368 add option to UseNumber() in gin.Context.BindJSON()

* add test
This commit is contained in:
whirosan
2017-07-10 17:33:35 +09:00
committed by Javier Provecho Fernandez
parent b6256dbe0c
commit fb7448f081
3 changed files with 18 additions and 1 deletions

View File

@ -10,7 +10,10 @@ import (
"github.com/json-iterator/go"
)
var json = jsoniter.ConfigCompatibleWithStandardLibrary
var (
json = jsoniter.ConfigCompatibleWithStandardLibrary
EnableDecoderUseNumber = false
)
type jsonBinding struct{}
@ -20,6 +23,9 @@ func (jsonBinding) Name() string {
func (jsonBinding) Bind(req *http.Request, obj interface{}) error {
decoder := json.NewDecoder(req.Body)
if EnableDecoderUseNumber {
decoder.UseNumber()
}
if err := decoder.Decode(obj); err != nil {
return err
}