Documentation
¶
Overview ¶
Package jsonarray provides JSON-array import and export for the pulse I/O pipeline. The format is a single top-level JSON array of flat objects: [{...}, {...}].
Index ¶
- type Reader
- func (r *Reader) Close() error
- func (r *Reader) ReadHeader() ([]string, error)
- func (r *Reader) ReadRows(ctx context.Context, fn func(row []string) error) error
- func (r *Reader) RefuseLateKeys(on bool)
- func (r *Reader) Reset() error
- func (r *Reader) RowList(col int, dst *iocore.ListCell) error
- func (r *Reader) RowNulls() []bool
- type Writer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
Reader reads a top-level JSON array of objects, one object per row.
func NewReaderFromBytes ¶
NewReaderFromBytes creates a Reader from raw bytes.
func (*Reader) ReadHeader ¶
ReadHeader returns column names from the first JSON object.
func (*Reader) ReadRows ¶
ReadRows streams rows to fn. ReadHeader is auto-called if not yet invoked.
func (*Reader) RefuseLateKeys ¶
RefuseLateKeys implements iocore.LateKeyRefuser: when on, a key first seen after the first object fails ReadRows with PULSE_IMPORT_SCHEMA_KEY_LATE instead of being dropped. Survives Reset.
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer writes a JSON array, one object per row.
func NewWriterToBuffer ¶
func NewWriterToBuffer() *Writer
NewWriterToBuffer creates a Writer that accumulates output in an internal buffer.
func (*Writer) SetExplicitNulls ¶
SetExplicitNulls implements iocore.NullAwareWriter.
func (*Writer) SetListColumns ¶
func (w *Writer) SetListColumns(cols []iocore.ListColumn)
SetListColumns implements iocore.ListAwareWriter; see the ndjson Writer's method of the same name.
func (*Writer) WriteHeader ¶
WriteHeader stores the column names and emits the opening '['.