NDJSON Stream
A newline-delimited JSON (NDJSON) stream of event records — for testing streaming JSON parsers.
{"id":1,"event":"page_view","path":"/"}
{"id":2,"event":"click","target":"download"}
{"id":3,"event":"page_view","path":"/about"}
{"id":4,"event":"search","query":"csv"}
Specifications
- Format
- NDJSON
- Records
- 4
- Line Endings
- LF
- Encoding
- UTF-8
What is a .ndjson file?
NDJSON (Newline-Delimited JSON) is a streaming format where each newline-separated line is a standalone JSON object, functionally equivalent to JSON Lines. It enables incremental processing of large datasets and streaming APIs. Each record is parsed independently of the rest.
How to use this file
Use an example NDJSON to test streaming ingestion, chunked HTTP or API response parsing, and tools that process records incrementally without loading the full file.
How to use this file for testing
“NDJSON Stream” is a deterministic Novus Examples fixture for JSON parsing, Data import. Flat, deeply nested, JSON Lines, and intentionally invalid JSON for testing parsers and error handling.
Documented properties for this file: 4 records · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Data fixtures document their exact quirks — delimiters, encodings, null handling, schema, and row counts — in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.
Feed the file to your parser and assert it handles the documented quirks — quoted delimiters, embedded newlines, ragged rows, or invalid syntax; the valid↔invalid distinction is labelled in the title.
Code examples
import json
with open("stream.ndjson") as f:
rows = [json.loads(line) for line in f if line.strip()]
print(len(rows))Related files
- jsonFlat JSON ArrayA flat JSON array of ten simple objects — the baseline case for JSON parsing and mapping.

- jsonlJSON Lines (JSONL)A JSON Lines file with one object per line — for testing streaming/newline-delimited JSON parsers.

- jsonColumnar Nulls Schema (JSON)JSON description of nullable columns in the null-heavy columnar fixtures.

- jsonFINANCE — Ledger Lines (JSON)JSON twin of the finance/ledger-lines mini-dataset.

- jsonFintech Double-entry Ledger (JSON)Balanced double-entry ledger SAMPLE for accounting engine validation tests.

- jsonHealthcare Claim (FHIR SAMPLE JSON)Synthetic FHIR Claim resource for healthcare billing parser tests — not a real patient.

Generated by generation/data_formats.py. Free for any use, no attribution required — license.