forked from mirror/gjson
parent
15a2428bae
commit
dee0375ffd
6
gjson.go
6
gjson.go
|
@ -2382,6 +2382,12 @@ func validnumber(data []byte, i int) (outi int, ok bool) {
|
||||||
// sign
|
// sign
|
||||||
if data[i] == '-' {
|
if data[i] == '-' {
|
||||||
i++
|
i++
|
||||||
|
if i == len(data) {
|
||||||
|
return i, false
|
||||||
|
}
|
||||||
|
if data[i] < '0' || data[i] > '9' {
|
||||||
|
return i, false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// int
|
// int
|
||||||
if i == len(data) {
|
if i == len(data) {
|
||||||
|
|
|
@ -1030,6 +1030,7 @@ func TestValidBasic(t *testing.T) {
|
||||||
testvalid(t, "00", false)
|
testvalid(t, "00", false)
|
||||||
testvalid(t, "-00", false)
|
testvalid(t, "-00", false)
|
||||||
testvalid(t, "-.", false)
|
testvalid(t, "-.", false)
|
||||||
|
testvalid(t, "-.123", false)
|
||||||
testvalid(t, "0.0", true)
|
testvalid(t, "0.0", true)
|
||||||
testvalid(t, "10.0", true)
|
testvalid(t, "10.0", true)
|
||||||
testvalid(t, "10e1", true)
|
testvalid(t, "10e1", true)
|
||||||
|
@ -1094,6 +1095,8 @@ func TestValidBasic(t *testing.T) {
|
||||||
testvalid(t, `"a\\b\\\uFFA"`, false)
|
testvalid(t, `"a\\b\\\uFFA"`, false)
|
||||||
testvalid(t, string(complicatedJSON), true)
|
testvalid(t, string(complicatedJSON), true)
|
||||||
testvalid(t, string(exampleJSON), true)
|
testvalid(t, string(exampleJSON), true)
|
||||||
|
testvalid(t, "[-]", false)
|
||||||
|
testvalid(t, "[-.123]", false)
|
||||||
}
|
}
|
||||||
|
|
||||||
var jsonchars = []string{"{", "[", ",", ":", "}", "]", "1", "0", "true",
|
var jsonchars = []string{"{", "[", ",", ":", "}", "]", "1", "0", "true",
|
||||||
|
|
Loading…
Reference in New Issue