You've already forked json-iterator
							
							
				mirror of
				https://github.com/json-iterator/go.git
				synced 2025-10-31 00:07:40 +02:00 
			
		
		
		
	add ReadNumber for Iterator.
This commit is contained in:
		| @@ -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,`) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user