func (sc *Scanner) Error() error {
	if sc.err == errEOF {
		return nil
	}
	return sc.err
}
Error returns the last error.
package fastjson
import (
	"errors"
)
type Scanner struct {
	b []byte
	s string
	err error
	v *Value
	c cache
}
func (sc *Scanner) Init(s string) {
	sc.b = append(sc.b[:0], s...)
	sc.s = b2s(sc.b)
	sc.err = nil
	sc.v = nil
}
func (sc *Scanner) InitBytes(b []byte) {
	sc.Init(b2s(b))
}
func (sc *Scanner) Next() bool {
	if sc.err != nil {
		return false
	}
	sc.s = skipWS(sc.s)
	if len(sc.s) == 0 {
		sc.err = errEOF
		return false
	}
	sc.c.reset()
	v, tail, err := parseValue(sc.s, &sc.c)
	if err != nil {
		sc.err = err
		return false
	}
	sc.s = tail
	sc.v = v
	return true
}