@@ -2,12 +2,22 @@
package jsoniter
-import "fmt"
+import (
+ "fmt"
+ "io"
+)
func (iter *Iterator) skipNumber() {
if !iter.trySkipNumber() {
iter.unreadByte()
- iter.ReadFloat32()
+ if iter.Error != nil && iter.Error != io.EOF {
+ return
+ }
+ iter.ReadFloat64()
+ iter.Error = nil
+ iter.ReadBigFloat()
}
@@ -17,5 +17,8 @@ func init() {
unmarshalCases = append(unmarshalCases, unmarshalCase{
ptr: (*json.RawMessage)(nil),
input: `[1,2,3]`,
+ }, unmarshalCase{
+ ptr: (*json.RawMessage)(nil),
+ input: `1.122e+250`,
})