Source File
scanner.go
Belonging Package
github.com/valyala/fastjson
package fastjsonimport ()// Scanner scans a series of JSON values. Values may be delimited by whitespace.//// Scanner may parse JSON lines ( http://jsonlines.org/ ).//// Scanner may be re-used for subsequent parsing.//// Scanner cannot be used from concurrent goroutines.//// Use Parser for parsing only a single JSON value.type Scanner struct {// b contains a working copy of json value passed to Init.b []byte// s points to the next JSON value to parse.s string// err contains the last error.err error// v contains the last parsed JSON value.v *Value// c is used for caching JSON values.c cache}// Init initializes sc with the given s.//// s may contain multiple JSON values, which may be delimited by whitespace.func ( *Scanner) ( string) {.b = append(.b[:0], ...).s = b2s(.b).err = nil.v = nil}// InitBytes initializes sc with the given b.//// b may contain multiple JSON values, which may be delimited by whitespace.func ( *Scanner) ( []byte) {.Init(b2s())}// 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.func ( *Scanner) () bool {if .err != nil {return false}.s = skipWS(.s)if len(.s) == 0 {.err = errEOFreturn false}.c.reset(), , := parseValue(.s, &.c, 0)if != nil {.err =return false}.s =.v =return true}// Error returns the last error.func ( *Scanner) () error {if .err == errEOF {return nil}return .err}// Value returns the last parsed value.//// The value is valid until the Next call.func ( *Scanner) () *Value {return .v}var errEOF = errors.New("end of s")
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)