mirror of
https://github.com/json-iterator/go.git
synced 2025-04-23 11:37:32 +02:00
add ReadNumber for Iterator.
This commit is contained in:
parent
a9b9c73b4d
commit
25f147f530
@ -1,6 +1,7 @@
|
|||||||
package jsoniter
|
package jsoniter
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"io"
|
"io"
|
||||||
"math/big"
|
"math/big"
|
||||||
"strconv"
|
"strconv"
|
||||||
@ -339,3 +340,8 @@ func validateFloat(str string) string {
|
|||||||
}
|
}
|
||||||
return ""
|
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)
|
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) {
|
func Benchmark_jsoniter_float(b *testing.B) {
|
||||||
b.ReportAllocs()
|
b.ReportAllocs()
|
||||||
input := []byte(`1.1123,`)
|
input := []byte(`1.1123,`)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user