gojay

high performance JSON encoder/decoder with stream API for Golang
git clone git://git.lair.cx/gojay
Log | Files | Refs | README | LICENSE

commit ef10bf36a252f8bda1248cedda106996f6512379
parent 3ebfcfb6372e874ff4cd2d6b905793acbdfd02cd
Author: Francois Parquet <francois.parquet@gmail.com>
Date:   Fri, 16 Nov 2018 23:11:45 +0800

Merge pull request #90 from susuper/master

Fixed incorrect unmarshalling of numbers in scientific format in several cases
Diffstat:
Mdecode_number.go | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/decode_number.go b/decode_number.go @@ -61,7 +61,7 @@ func init() { for i := 0; i < 256; i++ { switch i { - case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.': + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'e', 'E', '+', '-': skipNumberEndCursorIncrement[i] = 1 } } @@ -74,7 +74,7 @@ func (dec *Decoder) skipNumber() (int, error) { end += skipNumberEndCursorIncrement[dec.data[j]] switch dec.data[j] { - case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', ' ', '\n', '\t', '\r': + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'e', 'E', '+', '-', ' ', '\n', '\t', '\r': continue case ',', '}', ']': return end, nil