Skip to content
jc-rs
GitHub

Multiline table to JSON

Multiline ASCII Table to JSON Converter

This parser handles pretty-printed tables in which one logical row wraps across several terminal lines. Row separators define record boundaries, and consecutive lines from the same cell stay together.

asciitable_m--asciitable-mv1.2.0

fileslurpable

Try the real parser

Paste input on the left. The same Rust parser that ships in the binary runs locally in this page and writes its JSON on the right.

browser · WebAssembly
Loading the local parser.
inputeditable
jc-rs --asciitable-mJSON
Use the Left and Right arrow keys to highlight the matching value in the input.
[
  {
    "name": "api",
    "notes": "ready\nprimary"
  },
  {
    "name": "worker",
    "notes": "pending\nbatch"
  }
]

Hover over a JSON value, or focus the JSON pane and use the Left and Right arrow keys, to trace it to the input. Parsing runs inside this tab in WebAssembly. Pasted text and opened files are not uploaded. If site analytics is enabled, it may receive page-level visit data such as the URL, title, and referrer; text in this editor is never included.

Accepted input

A pretty table drawn with ASCII or Unicode column borders, with a header area and a recognized separator between logical rows. Headers and data may span several lines. Simple whitespace-aligned and Markdown tables are rejected with a direction to use asciitable instead.

What the JSON contains

  • Each bordered row group becomes one JSON object, regardless of how many physical lines its cells occupy.
  • Lines from the same cell are trimmed and joined with \n, preserving the visible wrap in a machine-readable string.
  • Multiline header parts are combined with underscores and normalized to lowercase keys.
  • Cell values remain strings; cells with no content become null.

What you can do here

  • Convert a multiline terminal table to JSON
  • Parse wrapped cells in an ASCII or Unicode table
  • Keep each multiline table row together in one JSON object

Use the same parser in a shell

$ cat multiline-table.txt | jc-rs --asciitable-m

The browser tool is for inspection. The CLI form is the useful one in scripts, pipes, containers, and repeatable checks.

Continue with the parsed JSON

Fixture coverage

noneThe reference corpus ships no oracle-valid fixture for this parser, so the differential cannot speak for it. That is reported, not hidden.

Magic syntax

not availableThis parser reads a file or a string rather than a command, so there is nothing for jc-rs to run. Pipe it in.

Source: crates/jc-rs-parsers/src/misc/asciitable_m.rs. jc-rs targets the schemas defined by the original Python tool. Fixture coverage above is the measured evidence for this parser; test the inputs your pipeline depends on. Compare