-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
priority:mediumShould be done soonShould be done soonsize:mMedium — 4 to 8 hoursMedium — 4 to 8 hoursstatus:readyRefined and ready for sprint selectionRefined and ready for sprint selectiontype:featureNew functionalityNew functionality
Description
Part of #68
Depends on #95 (format plugin architecture)
Description
Add JSON array-of-objects and newline-delimited JSON (NDJSON) as input and output formats. This generalizes the existing --json output flag into the new --output-format json system, and adds JSON as an input source.
Acceptance Criteria
-
--input-format jsonreads a JSON array of objects (each object becomes a row) -
--input-format ndjsonreads one JSON object per line -
--output-format jsonproduces a JSON array of objects (column names as keys) -
--output-format ndjsonproduces one JSON object per line - Nested JSON objects in input are serialized as JSON strings (not flattened)
- JSON arrays in input are serialized as JSON strings
- Type detection: numbers, booleans, and null values are handled correctly
- Malformed JSON produces a clear error with line number
Notes
- JSON input flattening strategy: top-level keys only; nested values become JSON strings
- The existing
--jsonflag should map to--output-format jsoninternally after Format plugin architecture for multi-format I/O #95 - Consider using Zig's std.json for parsing
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
priority:mediumShould be done soonShould be done soonsize:mMedium — 4 to 8 hoursMedium — 4 to 8 hoursstatus:readyRefined and ready for sprint selectionRefined and ready for sprint selectiontype:featureNew functionalityNew functionality