Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type JSONLexer ¶
type JSONLexer struct {
// contains filtered or unexported fields
}
JSONLexer is a JSON lexical analyzer with streaming API support, where stream is a sequence of JSON tokens. JSONLexer does its own IO buffering so prefer low-level readers if you want to miminize memory footprint.
JSONLexer uses a ring buffer of fixed size (4096 bytes by default) and currently will fail if some token length exceeds the size of buffer, however you can tweak buffer size on JSONLexer creation.
JSONLexer uses unsafe pointers into the underlying buf to minimize allocations, see Token() for the provided guarantees.
func NewJSONLexer ¶
NewJSONLexer creates a new JSONLexer with the given reader.
func (*JSONLexer) SetBufSize ¶
SetBufSize creates a new buffer of the given size. MUST be called before parsing started.
func (*JSONLexer) SetSkipDelims ¶
SetSkipDelims tells JSONLexer to skip delimiters and return only keys and values. This can be useful in case you want to simply match the input to some specific grammar and have no intention of doing full syntax analysis.