mirror of
https://github.com/json-iterator/go.git
synced 2025-04-23 11:37:32 +02:00
Merge pull request #210 from coocood/master
add ReadNumber for Iterator.
This commit is contained in:
commit
7b060ec866
@ -1,6 +1,7 @@
|
||||
package jsoniter
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
"math/big"
|
||||
"strconv"
|
||||
@ -339,3 +340,8 @@ func validateFloat(str string) string {
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// ReadNumber read json.Number
|
||||
func (iter *Iterator) ReadNumber() (ret json.Number) {
|
||||
return json.Number(iter.readNumberAsString())
|
||||
}
|
||||
|
@ -192,6 +192,13 @@ func Test_lossy_float_marshal(t *testing.T) {
|
||||
should.Equal("0.123457", output)
|
||||
}
|
||||
|
||||
func Test_read_number(t *testing.T) {
|
||||
should := require.New(t)
|
||||
iter := ParseString(ConfigDefault, `92233720368547758079223372036854775807`)
|
||||
val := iter.ReadNumber()
|
||||
should.Equal(`92233720368547758079223372036854775807`, string(val))
|
||||
}
|
||||
|
||||
func Benchmark_jsoniter_float(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
input := []byte(`1.1123,`)
|
||||
|
Loading…
x
Reference in New Issue
Block a user