diff options
Diffstat (limited to 'libgo/go/encoding/json')
-rw-r--r-- | libgo/go/encoding/json/decode.go | 12 | ||||
-rw-r--r-- | libgo/go/encoding/json/decode_test.go | 4 | ||||
-rw-r--r-- | libgo/go/encoding/json/encode.go | 6 |
3 files changed, 11 insertions, 11 deletions
diff --git a/libgo/go/encoding/json/decode.go b/libgo/go/encoding/json/decode.go index 2ea06c50c27..0a700926296 100644 --- a/libgo/go/encoding/json/decode.go +++ b/libgo/go/encoding/json/decode.go @@ -642,7 +642,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value) { default: d.error(&UnmarshalTypeError{"number", v.Type()}) case reflect.Interface: - n, err := strconv.Atof64(s) + n, err := strconv.ParseFloat(s, 64) if err != nil { d.saveError(&UnmarshalTypeError{"number " + s, v.Type()}) break @@ -650,7 +650,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value) { v.Set(reflect.ValueOf(n)) case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - n, err := strconv.Atoi64(s) + n, err := strconv.ParseInt(s, 10, 64) if err != nil || v.OverflowInt(n) { d.saveError(&UnmarshalTypeError{"number " + s, v.Type()}) break @@ -658,7 +658,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value) { v.SetInt(n) case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - n, err := strconv.Atoui64(s) + n, err := strconv.ParseUint(s, 10, 64) if err != nil || v.OverflowUint(n) { d.saveError(&UnmarshalTypeError{"number " + s, v.Type()}) break @@ -666,7 +666,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value) { v.SetUint(n) case reflect.Float32, reflect.Float64: - n, err := strconv.AtofN(s, v.Type().Bits()) + n, err := strconv.ParseFloat(s, v.Type().Bits()) if err != nil || v.OverflowFloat(n) { d.saveError(&UnmarshalTypeError{"number " + s, v.Type()}) break @@ -798,7 +798,7 @@ func (d *decodeState) literalInterface() interface{} { if c != '-' && (c < '0' || c > '9') { d.error(errPhase) } - n, err := strconv.Atof64(string(item)) + n, err := strconv.ParseFloat(string(item), 64) if err != nil { d.saveError(&UnmarshalTypeError{"number " + string(item), reflect.TypeOf(0.0)}) } @@ -813,7 +813,7 @@ func getu4(s []byte) rune { if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { return -1 } - r, err := strconv.Btoui64(string(s[2:6]), 16) + r, err := strconv.ParseUint(string(s[2:6]), 16, 64) if err != nil { return -1 } diff --git a/libgo/go/encoding/json/decode_test.go b/libgo/go/encoding/json/decode_test.go index bd4326a0cd7..bf3953eb051 100644 --- a/libgo/go/encoding/json/decode_test.go +++ b/libgo/go/encoding/json/decode_test.go @@ -345,12 +345,12 @@ var allValue = All{ "18": {Tag: "tag18"}, }, MapP: map[string]*Small{ - "19": &Small{Tag: "tag19"}, + "19": {Tag: "tag19"}, "20": nil, }, EmptyMap: map[string]Small{}, Slice: []Small{{Tag: "tag20"}, {Tag: "tag21"}}, - SliceP: []*Small{&Small{Tag: "tag22"}, nil, &Small{Tag: "tag23"}}, + SliceP: []*Small{{Tag: "tag22"}, nil, {Tag: "tag23"}}, EmptySlice: []Small{}, StringSlice: []string{"str24", "str25", "str26"}, ByteSlice: []byte{27, 28, 29}, diff --git a/libgo/go/encoding/json/encode.go b/libgo/go/encoding/json/encode.go index 14284f50e47..69deaf2a40d 100644 --- a/libgo/go/encoding/json/encode.go +++ b/libgo/go/encoding/json/encode.go @@ -275,13 +275,13 @@ func (e *encodeState) reflectValueQuoted(v reflect.Value, quoted bool) { } case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - writeString(e, strconv.Itoa64(v.Int())) + writeString(e, strconv.FormatInt(v.Int(), 10)) case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - writeString(e, strconv.Uitoa64(v.Uint())) + writeString(e, strconv.FormatUint(v.Uint(), 10)) case reflect.Float32, reflect.Float64: - writeString(e, strconv.FtoaN(v.Float(), 'g', -1, v.Type().Bits())) + writeString(e, strconv.FormatFloat(v.Float(), 'g', -1, v.Type().Bits())) case reflect.String: if quoted { |