How JSON to table works
- Array of objects: one row per object, one column per key, in the order keys first appear.
- Array of plain values: a single
valuecolumn. - Object: key and value columns.
- Object wrapping an array, like
{"total": 3, "results": [...]}: the table opens onresults.
Nested objects and arrays show their size, {1} or [2]. Click one to open it as its own table; the path above the table, such as $ › results › [0] › labels, leads back.
Example
{
"total": 3,
"results": [
{ "id": 4021, "title": "Export to PDF cuts off tables", "state": "open", "assignee": { "login": "mkim" }, "labels": ["bug", "export"] },
{ "id": 4019, "title": "Add dark mode to reports", "state": "closed", "assignee": { "login": "jdoe" }, "labels": ["feature"] },
{ "id": 4007, "title": "Typo on pricing page", "state": "closed", "assignee": { "login": "mkim" }, "labels": [] }
]
}
The table opens on results:
| # | id | title | state | assignee | labels |
|---|---|---|---|---|---|
| 0 | 4021 | Export to PDF cuts off tables | open | {1} | [2] |
| 1 | 4019 | Add dark mode to reports | closed | {1} | [1] |
| 2 | 4007 | Typo on pricing page | closed | {1} | [0] |
[2] in the first row opens bug and export in a one-column table.
Sort columns
Click a header for ascending, again for descending, a third time for the original order. Numbers sort by value and text alphabetically; empty and null cells stay last either way. The # column keeps each row’s original index.
Hide columns
Press Fields and uncheck the keys you don’t need. Their columns disappear, and Download CSV leaves them out. Keys of nested objects are listed under their parent, such as login under assignee. Save keeps the choice as a named preset in this browser.
Download CSV
Download CSV saves the current level as table.csv, every row included. Nested objects become dotted columns and arrays become JSON text:
id,title,state,assignee.login,labels
4021,Export to PDF cuts off tables,open,mkim,"[""bug"",""export""]"
4019,Add dark mode to reports,closed,jdoe,"[""feature""]"
4007,Typo on pricing page,closed,mkim,[]
For a semicolon, tab or pipe delimiter, or nested objects kept as JSON, use JSON to CSV. CSV to JSON goes the other way.
Limits
The first 1,500 rows are shown, with the total below. Columns come from the first 2,000 rows, and cells cut text at 200 characters. It does not write HTML <table> markup. Deep or irregular data is easier to follow in the JSON viewer tree.