Back to JSON Nexus

JSON Nexus Docs

A utility to flatten, structure, and compare JSON data.

What is JSON Nexus?

JSON Nexus is a client-side tool for parsing and comparing JSON data. It provides two main tabs:

  • JSON to Table Grid: Flattens nested objects and splits arrays into columns and rows with CSV and Excel export options.
  • JSON Compare & Diff: Compares two JSON objects side-by-side with optional filters for structure and values.
1

JSON to Table Conversion Rules

JSON Nexus shapes nested data structures into a table using two options:

1. Flatten Nested Objects

Recursive object properties are flattened into dot-separated header strings. If disabled, sub-objects are kept intact as simple stringified JSON.

2. Split Arrays into Rows (Cartesian Splitting)

If a field contains multiple array values (e.g. `skills: ["TypeScript", "Bun"]`), splitting will perform a Cartesian expansion. It duplicates the parallel property values and spans them over multiple distinct rows recursively.

Input Nested JSON
{
  "id": "USR-101",
  "profile": {
    "fullName": "Alice Vance"
  },
  "skills": ["TypeScript", "Bun"]
}
Output Spread Rows (Flatten & Split Active)
[
  { "id": "USR-101", "profile.fullName": "Alice Vance", "skills": "TypeScript" },
  { "id": "USR-101", "profile.fullName": "Alice Vance", "skills": "Bun" }
]
2

Datagrids & Spreadsheets

Parsed data is rendered in a table powered by @tanstack/react-table.

  • Sorting & Filtering: Columns can be sorted alphabetically or numerically, and a global search filter matches values across the active grid.
  • CSV & Excel Exports: Generates standard CSV files or binary `.xlsx` files using the `xlsx` package for local download.
3

Monaco Compare Modes

JSON Nexus provides three diff filter modes to view changes side-by-side:

📊 Granular (Default)

Standard diff showing all text modifications, additions, and deletions.

🔧 Structure Only

Compares schemas by mapping leaf nodes to their types (e.g., `"<string>"`, `"<number>"`). This mode isolates added, deleted, or migrated fields.

💎 Values Only

Ignores unique structural updates (additions and removals). It uses a recursive intersection algorithm to isolate **only shared keys** and display their value changes, keeping the rest completely hidden.

4

Ignoring Key & Array Order

Often, two JSON objects represent the exact same database records, but their fields are positioned differently or their array items are shifted in index order.

Checking the **`Ignore Order (Keys & Arrays)`** option in the Action Bar recursively:

  1. Sorts all object fields **alphabetically** by key.
  2. Sorts all array elements **alphabetically** by their stringified value.

This normalizes the structural positioning on both sides, ensuring Monaco only highlights true value changes rather than simple key re-ordering!

5

Keyboard Shortcuts

Keyboard Shortcuts

Shortcuts available inside the editor panels:

Generate Table GridCtrl + Enter
Compare JSON DiffsCtrl + Enter
Format JSON DocumentAlt + Shift + F
Auto-Save StateAutomatic

Tips & Gotchas

Large JSON Tables

If you have high Cartesian array-splitting factors (e.g. nested lists containing dozens of entries), the number of generated rows can expand exponentially. Keep the **Split Arrays** setting checked only when relational row expansion is needed, otherwise leave it unchecked to keep arrays stringified.

Browser Storage Safety

Inputs are stored in your browser's `localStorage` so reload actions don't wipe your workspace. However, extremely massive JSON strings might hit browser quota ceilings (~5MB). Hit the **Clear** button regularly to clean your staging workspace.