gojay

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

commit 60a92399010ac907d61a45ddc3ae561e3ab08778
parent 3ebfcfb6372e874ff4cd2d6b905793acbdfd02cd
Author: Aleksey Bondarenko <bitbucketorg.f5bt@emailserviceforpro.com>
Date:   Thu, 15 Nov 2018 06:15:58 +0000

Fixed incorrect unmarshalling of numbers in scientific format

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