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
}
Next parses the next JSON value from s passed to Init.

Returns true on success. The parsed value is available via Value call.

Returns false either on error or on the end of s.
Call Error in order to determine the cause of the returned false.
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))
}