Messy2Sheet workflow

JSON to CSV.

Paste JSON or upload an API export, choose the fields you need, then flatten records, nested objects, and arrays...

CSV rows
10
CSV columns
18
Issue rows
7
Try one file

Start with the file you already have.

Upload or paste the source, then check the workbook before export.

Create the sheet

Upload or paste the source. The cleanup rule is loaded.

  1. 1Source
  2. 2Instructions
  3. 3Create
Source
Loaded rule

Map fields, clean rows, and keep review notes.

Preview the workbook before export.

Real sample

Sample GitHub Issues JSON to CSV rows

A public GitHub Issues API snapshot becomes a triage CSV with one row per issue or pull request.

source repo column
issue number column
item type column
title column
author column
labels column
assignees column
review note column
Download
Proof from a public GitHub API response

A public GitHub Issues JSON response becomes a 10 row triage CSV.

This sample uses a saved public GitHub Issues API response from microsoft/vscode. Messy2Sheet turns 10 top-level issue or pull request objects into an 18 column triage CSV with nested users, labels, assignees, milestones, and pull request URLs separated.

10
CSV rows
18
CSV columns
7
Issue rows
3
PR rows

CSV preview from the GitHub Issues API snapshot

These rows come from the saved GitHub Issues API snapshot. The CSV keeps issue identity, item type, nested labels, nested assignees, optional pull request URLs, and blank optional fields separate.

issue_numberitem_typetitlelabelsassigneespull_request_url
320505issueproblem with zoom
320504issueLinux agent sandboxing broken when `allowNetwork` mode is setbug;agent-sandboxdileepyavan
320503pull_requestEnterprise managed plugins: offline mock + Policy Inspector tooling & test hardeninghttps://api.github.com/repos/microsoft/vscode/pulls/320503
320502pull_request[cherry-pick] Disable background todo agent for experimental modelscherry-pick-artifactvritant24https://api.github.com/repos/microsoft/vscode/pulls/320502
320501issueKeybinding is not shown next to Open in Agents commandbugalexdima

One row per record

The row grain is one top-level issue or pull request object, so nested arrays do not create duplicate accidental rows.

10 top-level objectsissue_numberitem_type

Nested objects

Nested user objects become readable fields instead of object strings copied into one cell.

author_loginhtml_urlsource_repo

Joined arrays

Labels and assignees are joined with semicolons so reviewers can filter the CSV without opening JSON.

bug;agent-sandboxdileepyavanalexdima

Honest blanks

Rows without labels, assignees, or milestones keep those cells blank instead of writing fake none values.

blank labelsblank milestoneno invented values
Nested JSON vs triage CSV

Generic JSON flatten

A generic JSON flatten can create noisy path columns or leave arrays and objects as unreadable cell text.

  • Nested arrays become object strings
  • Optional fields create noise
  • Row grain can be unclear

Task-specific CSV

Messy2Sheet uses the requested row grain and columns to create a small CSV that matches the review task.

  • One row per issue or PR
  • Readable labels and assignees
  • Blank optional fields stay blank
Extraction details

What a JSON to CSV conversion needs.

A useful JSON to CSV result keeps the row grain and target columns stable even when records have nested objects, arrays, optional fields, and missing values.

Target fields

Set the CSV fields before extraction

Set fields such as source repo, issue number, item type, title, author, labels, assignees, review note. Messy2Sheet uses those fields to shape the CSV output before extraction starts.

JSON shape

Flatten nested JSON into stable CSV columns

JSON can be nested, repeated, or inconsistent across records. Keep source keys, flattened paths, missing values, and review notes visible so the CSV can be checked before import.

Check

Check the result before downloading CSV

Compare the generated rows with the source, fix unclear values, then export CSV when the table is ready.

Fit check

Use it when JSON file or API export needs structured CSV rows.

JSON to CSV works best when the source is readable and the target fields are clear. Keep review notes when the source layout or values need human judgment.

Best JSON to CSV inputs

  • Readable JSON file or API export where a person can identify the important values.
  • Cases where you already know the output fields: source repo, issue number, item type, title, author, labels, assignees, review note.
  • Sources with repeated business layouts that can become a saved workflow.
  • Files that need Excel or CSV output you can check before using.

Check before exporting CSV

  • The source is blurry, cropped, skewed, or low contrast.
  • Important values are handwritten, hidden, or missing.
  • Several unrelated layouts are mixed in one upload.
  • The result requires business decisions that are not visible in the source.
Template and workflow

Start with a json to csv layout you can reuse.

For repeated files, set the output fields once, check one result, then reuse the saved layout for the next similar source.

Template

CSV output layout

Use a target sheet when the final CSV file needs stable fields every time.

Output fields: source repo, issue number, item type, title, author, labels, assignees, review note
Check fields: source page, unclear value, cleanup note
Optional fields: category, normalized label, confidence, source text
Saved workflow
Reuse

Saved JSON to CSV workflow

Save the instructions that handle repeated headings, wrapped text, missing fields, and source-specific cleanup rules.

  1. 01Keep rows in a checkable order.
  2. 02Split source text into the requested columns.
  3. 03Flag unclear cells for manual checking.
Workflow

Save this JSON-to-CSV mapping for repeat exports.

Start from the real file

Upload a JSON file or API export or paste source text if you already have it.

Set the fields

Use fields like source repo, issue number, item type, title, author, labels, assignees, review note so the generated CSV file matches the job.

Save the layout

Save the setup when the result looks right, then reuse it for similar files.

FAQ

Questions before you upload?

What does JSON to CSV do?+

JSON to CSV turns pasted JSON or uploaded JSON-like text into CSV rows with the fields you choose.

Can it flatten nested JSON?+

Yes. Ask for fields such as order.id, customer.email, line_items.sku, quantity, total, and notes.

Can I choose the CSV columns?+

Yes. Describe the target columns before running the job so the output matches your import or report.

What if some records are missing fields?+

Missing or unclear values can stay blank and be flagged in notes instead of being guessed.

Can I reuse the JSON mapping?+

Yes. Save the workflow after one good result, then reuse it for similar API exports or JSON files.

Try it on one real file.

Upload the document, keep or edit the template instructions, and check the workbook before you download it.

Start