1 //+build !jsoniter_sloppy
10 func (iter *Iterator) skipNumber() {
11 if !iter.trySkipNumber() {
13 if iter.Error != nil && iter.Error != io.EOF {
17 if iter.Error != nil && iter.Error != io.EOF {
24 func (iter *Iterator) trySkipNumber() bool {
26 for i := iter.head; i < iter.tail; i++ {
29 case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':
32 iter.ReportError("validateNumber", `more than one dot found in number`)
33 return true // already failed
40 case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':
42 iter.ReportError("validateNumber", `missing digit after dot`)
43 return true // already failed
48 case ',', ']', '}', ' ', '\t', '\n', '\r':
50 return false // if - without following digits
53 return true // must be valid
55 return false // may be invalid
61 func (iter *Iterator) skipString() {
62 if !iter.trySkipString() {
68 func (iter *Iterator) trySkipString() bool {
69 for i := iter.head; i < iter.tail; i++ {
77 iter.ReportError("trySkipString",
78 fmt.Sprintf(`invalid control character found: %d`, c))
79 return true // already failed
85 func (iter *Iterator) skipObject() {
87 iter.ReadObjectCB(func(iter *Iterator, field string) bool {
93 func (iter *Iterator) skipArray() {
95 iter.ReadArrayCB(func(iter *Iterator) bool {