JSONL is not a JSON document
A JSON Lines file contains independent JSON values separated by newlines. That makes logs and exports streamable, but a regular pretty-printer often becomes unusable at scale. Extensions commonly include .jsonl and .ndjson.
How csvlite presents it
When a JSONL file opens, csvlite discovers object keys in first-appearance order and displays them as columns. Missing keys and null appear empty. Strings are unescaped; numbers, booleans, arrays and nested objects remain visibly faithful to the source. Expand an object column into paths such as request.user.id, then collapse it again.
Handle imperfect logs without losing position
A malformed line keeps its row rather than shifting later records. Fields parsed before the damage can still be shown, which helps locate the bad event. Blank lines are skipped and CRLF is supported.
A practical inspection flow
- Open the JSONL directly from disk.
- Confirm discovered columns and row count.
- Filter a stable identifier or timestamp.
- Expand only the nested object relevant to the question.
- Profile or export the narrowed table.