# Functions

NewReader creates a Reader that consumes the specified JSON input data.
ToJSONError converts errors defined by the jreader package into the corresponding error types defined by the encoding/json package, if any.
UnmarshalJSONWithReader is a convenience method for implementing json.Marshaler to unmarshal from a byte slice with the default TokenReader implementation.

# Constants

ArrayValue means the value is an array.
BoolValue means the value is a boolean.
NullValue means the value is a null.
NumberValue means the value is a number.
ObjectValue means the value is an object.
StringValue means the value is a string.

# Structs

AnyValue is returned by Reader.Any() to represent a JSON value of an arbitrary type.
ArrayState is returned by Reader's Array and ArrayOrNull methods.
ObjectState is returned by Reader's Object and ObjectOrNull methods.
Reader is a high-level API for reading JSON data sequentially.
RequiredPropertyError is returned by Reader if a JSON object did not contain a property that was designated as required (by using ObjectState.WithRequiredProperties).
SyntaxError is returned by Reader if the input is not well-formed JSON.
TypeError is returned by Reader if the type of JSON value that was read did not match what the caller requested.

# Interfaces

Readable is an interface for types that can read their data from a Reader.

# Type aliases

ValueKind defines the allowable value types for Reader.Any.