JSONXX

JSON Quick Start Guide

From raw JSON to CSV, Excel, or Markdown. Covers data types, nested JSON, JSON Path, NDJSON, export formats, and troubleshooting.

Table of Contents

1. JSON Basics

Data types and syntax rules.

2. JSON vs CSV vs XML

Format comparison guide.

3. Real-World Formats

API, NDJSON, databases.

4. Nested JSON

Three flattening modes.

5. JSON Path

Locate the right data.

6. Export Guide

CSV vs Excel vs Markdown.

7. Editing Shortcuts

Keys, menus, columns.

8. Troubleshooting

Common errors and fixes.

1. JSON Basics

JSON (JavaScript Object Notation) is a lightweight text format for storing and exchanging data.

[
  { "name": "Alice", "age": 30, "active": true },
  { "name": "Bob",   "age": 25, "active": false }
]

5 Data Types at a Glance

TypeExampleNotes
String"hello"Double quotes required. No single quotes.
Number42, 3.14, -7Integers and decimals. No quotes.
Booleantrue, falseLowercase. No quotes.
NullnullRepresents "no value". Lowercase.
Array[1, "a", null]Ordered list. Items can be any type.
Object{"key": "value"}Key-value pairs. Keys are strings.

Key Syntax Rules

2. JSON vs CSV vs XML vs YAML

JSON sits in a unique position among data formats. Here's how it compares:

FeatureJSONCSVXMLYAML
NestingYesNoYesYes
ReadabilityGoodBestVerboseExcellent
File sizeMediumSmallestLargestSmall
Data types5 typesText onlyText only6+ types
Web APIsStandardRareLegacyGrowing
SpreadsheetsNeed convertDirectNeed parseNeed parse

When to use JSON: API responses, config files, log data, or when you need nested structures. Convert to CSV for Excel; convert to Markdown for docs.

3. Real-World JSON Formats

API Response (Wrapped Object)

Most APIs wrap their data in an outer object with metadata:

{
  "status": "ok",
  "count": 2,
  "data": {
    "users": [
      { "id": 1, "name": "Alice", "email": "alice@example.com" },
      { "id": 2, "name": "Bob",   "email": "bob@example.com" }
    ]
  }
}

How to handle: JSON Path = data.users

Common API wrapping patterns:

API SourcePatternJSON Path
GitHub API{"data":{"nodes":[...]}}data.nodes
REST API{"results":[...]}results
Paginated API{"data":{"list":[...],"total":100}}data.list
GraphQL{"data":{"users":[...]}}data.users

NDJSON / JSON Lines

One JSON object per line. Common in logs and streaming data:

{"ts":"2026-06-03T10:00:00Z","level":"info","msg":"Server started"}
{"ts":"2026-06-03T10:00:01Z","level":"warn","msg":"Memory at 85%"}
{"ts":"2026-06-03T10:00:02Z","level":"error","msg":"Connection refused"}

JSONXX auto-detects NDJSON. Each line becomes a row. Blank lines are ignored.

Common sources: Docker logs, Kafka messages, database exports, Elasticsearch bulk API.

Nested Object (Database Export)

{
  "orderId": 1001,
  "customer": { "name": "Alice", "tier": "gold" },
  "items": [
    { "sku": "A1", "name": "Widget", "qty": 2, "price": 9.99 },
    { "sku": "B2", "name": "Gadget", "qty": 1, "price": 24.50 }
  ]
}

Use dot-separated mode to flatten customer.name and customer.tier into separate columns.

Single Object vs Array

FormatExampleHow JSONXX Handles It
Array (standard)[{...}, {...}]Converts directly to table
Single object{"name":"Alice"}Wraps as 1 row automatically
API wrapped{"data":[{...}]}Use JSON Path to extract
NDJSON{...}\n{...}Auto-detects line-by-line

4. Nested JSON & Flattening

When JSON has objects inside objects, you need to flatten them into a flat table. JSONXX offers three modes.

Input:

[
  { "name": "Alice", "address": { "city": "Beijing", "district": "Haidian" } },
  { "name": "Bob",   "address": { "city": "Shanghai", "district": "Pudong" } }
]

Mode 1: Dot-separated (Default)

nameaddress.cityaddress.district
AliceBeijingHaidian
BobShanghaiPudong

Best for: flat tables, data analysis, CSV export.

Mode 2: JSON String

nameaddress
Alice{"city":"Beijing","district":"Haidian"}
Bob{"city":"Shanghai","district":"Pudong"}

Best for: preserving nested structure in a single cell.

Mode 3: 1-Level Only

namecitydistrict
AliceBeijingHaidian
BobShanghaiPudong

Best for: when only the first nesting level matters.

Deep Nesting (3+ Levels)

Dot-separated flattens to the deepest level automatically:

{ "user": { "profile": { "address": { "city": "Beijing" } } } }

Result column: user.profile.address.city

5. JSON Path Reference

JSON Path tells the tool exactly where your data is. Leave it empty for auto-detect.

Common Patterns

ScenarioJSON Path
Root-level array(leave empty)
{"data": [...]}data
{"data": {"items": [...]}}data.items
{"result": {"records": [...]}}result.records
Nested API (3 levels)response.data.users

Supported Syntax

# Dot notation (recommended)
data.items

# Bracket notation (for special characters)
['data']['user-list']
['results'][0]['items']

# Mixed notation
data['user-list'].items

When Do You Need JSON Path?

SituationNeed Path?
JSON is a root-level array [...] No
JSON is a single object {...}No
JSON is API-wrapped {"data":[...]}Yes
Auto-detect picked the wrong arrayYes
Multiple arrays, need a specific oneYes

6. Export Format Guide

CSV (.csv)

Best for: importing into any tool, databases, R/Python scripts.

  • RFC 4180 compliant (handles commas, quotes, newlines).
  • Configurable delimiter: comma, semicolon, tab, pipe, or custom.
  • UTF-8 BOM option for Chinese/Excel compatibility.

Excel (.xlsx)

Best for: Microsoft Excel, Google Sheets, Apple Numbers.

  • Native .xlsx format (not CSV renamed).
  • Type preservation: numbers as numbers, booleans as booleans.
  • Multi-sheet support for large datasets.

Markdown (.md)

Best for: GitHub README, Notion docs, technical documentation.

  • Standard Markdown table syntax with alignment.
  • Paste directly into any Markdown editor.

TSV (Clipboard)

Best for: quick paste into Excel (Ctrl+V). Tab-separated, no file download.

Which Format Should I Choose?

Your NeedRecommended
Not sureCSV (most universal)
Excel user.xlsx (no encoding risk)
GitHub docsMarkdown
Quick paste to ExcelCopy TSV
Database importCSV (UTF-8)
Chinese dataCSV UTF-8 BOM or .xlsx

Tip: Not sure? Start with CSV — it's the most universally supported. For Excel users, choose .xlsx to avoid encoding issues.

7. Editing & Shortcuts

The table is fully editable — not just a preview. Fix values before exporting.

Keyboard Shortcuts

ShortcutAction
Double-clickEdit cell
TabConfirm edit, move right
EnterConfirm edit, move down
EscapeCancel edit
Ctrl+Z / Cmd+ZUndo (up to 50 steps)
Ctrl+Y / Cmd+YRedo
DeleteClear selected cell

Right-Click Context Menu

Insert Row Above

Add a blank row before the current one.

Insert Row Below

Add a blank row after the current one.

Delete Row

Remove the current row from the table.

Clear Cell

Set cell value to null.

Column Operations

OperationHow
SortClick column header to toggle asc/desc
Hide columnRight-click header → Hide Column
Unhide columnsRight-click any header → Unhide Columns

Live Preview vs Blind Export

Traditional ToolsJSONXX
Paste → Export → DownloadPaste → See table → Edit → Export
Discover errors after exportFix before exporting
Can't modify dataDouble-click any cell to edit

8. Troubleshooting

Table is Empty

Cause: JSON syntax error.

Fix: Check the left panel — the tool highlights the exact line and character in red.

Common errors: trailing comma {"a":1,}, single quotes 'hello', missing quotes {name:"Alice"}

Wrong Data Shown

Cause: Auto-detect picked the wrong array. Fix: Use JSON Path to point at the right one (see Chapter 5).

Excel Shows Garbled Text

Cause: Excel defaults to ANSI encoding for CSV. Fix: Choose UTF-8 BOM encoding, or download .xlsx format.

File Too Large

Limit: 2MB / 2,000 rows. Fix: Split the file into smaller chunks. Pro version coming soon.

NDJSON Not Detected

Cause: Format doesn't match NDJSON standard. Each line must be a valid JSON object. Blank lines are OK.

Columns Missing

Normal behavior. Different objects may have different keys. The tool shows all columns; missing values display as null (gray -).

Frequently Asked Questions

What is JSON?

JSON (JavaScript Object Notation) is a lightweight data format using key:value pairs and arrays. It is the standard format for web APIs, config files, and data exports.

How do I handle nested JSON objects?

Use dot-separated mode to flatten nested objects (e.g., address.city). Switch to JSON string mode to preserve structure, or 1-level mode for shallow flattening.

Can I edit data before exporting?

Yes. Double-click cells to edit, Tab/Enter to navigate, Ctrl+Z to undo. All edits are included in the final export.

Is my data sent to a server?

No. All processing happens in your browser. Your data never leaves your device.

What is NDJSON?

NDJSON (JSON Lines) is one JSON object per line. JSONXX auto-detects it and treats each line as a row.

How large a file can I convert?

Maximum 2MB or 2,000 rows. For larger files, split into chunks. Pro version coming soon.

How do I fix Excel garbled text?

Choose UTF-8 BOM encoding when exporting CSV, or download as .xlsx format directly.

Ready to Try It?

Open the JSON to CSV tool and paste your data.

Open JSON to CSV