MCPcopy Index your code
hub / github.com/triggerdotdev/jsonhero-web

github.com/triggerdotdev/jsonhero-web @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
354 symbols 921 edges 195 files 0 documented · 0% 22 cross-repo links updated 7mo ago★ 10,76966 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Trigger.dev logo

Open Bounties Rewarded Bounties

Brought to you by Trigger.dev

JSON Hero was created and is maintained by the team behind Trigger.dev. With Trigger.dev you can trigger workflows from APIs, on a schedule, or on demand. We make API calls easy with authentication handled for you, and you can add durable delays that survive server restarts.

JSON Hero

JSON Hero makes reading and understand JSON files easy by giving you a clean and beautiful UI packed with extra features.

  • View JSON any way you'd like: Column View, Tree View, Editor View, and more.
  • Automatically infers the contents of strings and provides useful previews
  • Creates an inferred JSON Schema that could be used to validate your JSON
  • Quickly scan related values to check for edge cases
  • Search your JSON files (both keys and values)
  • Keyboard accessible
  • Easily sharable URLs with path support

JSON Hero Screenshot

Features

Send to JSON Hero

Send your JSON to JSON Hero in a variety of ways

json { "title": "test 123", "content": { "foo": "bar" }, "readOnly": false, // this is optional, will make it so the document title cannot be edited or document cannot be deleted "ttl": 3600 // this will expire the document after 3600 seconds, also optional }

The JSON response will be the following:

json { "id": "YKKduNySH7Ub", "title": "test 123", "location": "https://jsonhero.io/j/YKKduNySH7Ub" }

Column view

Inspired by macOS Finder, Column View is a new way to browse a JSON document.

JSON Hero Column View

It has all the features you'd expect: Keyboard navigation, Path bar, history.

It also has a nifty feature that allows you to "hold" a descendent selected and travel up through the hierarchy, and then move between siblings and view the different values found at that path. It's hard to describe, but here is an animation to help demonstrate:

Column View - Traverse with Context

As you can see, holding the Option (or Alt key on Windows) while moving to a parent keeps the part of the document selected and shows it in context of it's surrounding JSON. Then you can traverse between items in an array and compare the values of the selection across deep hierarchy cahnges.

Editor view

View your entire JSON document in an editor, but keep the nice previews and related values you get from the sidebar as you move around the document:

Editor view

Tree view

Use a traditional tree view to traverse your JSON document, with collapsible sections and keyboard shortcuts. All while keeping the nice previews:

Tree view

Search

Quickly open a search panel and fuzzy search your entire JSON file in milliseconds. Searches through key names, key paths, values, and even pretty formatted values (e.g. Searching for "Dec" will find datetime strings in the month of December.)

Search

Content Previews

JSON Hero automatically infers the content of strings and provides useful previews and properties of the value you've selected. It's "Show Don't Tell" for JSON:

Dates and Times

Preview colors

Image URLs

Preview colors

Website URLs

Preview websites

Tweet URLS

Preview tweets

JSON URLs

Preview JSON

Colors

Preview colors

Related Values

Easily see all the related values across your entire JSON document for a specific field, including any undefined or null values.

Editor view

Bugs and Feature Requests

Have a bug or a feature request? Feel free to open a new issue.

You can also join our Discord channel to hang out and discuss anything you'd like.

Developing

To run locally, first clone the repo and install the dependencies:

git clone https://github.com/triggerdotdev/jsonhero-web.git
cd jsonhero-web
npm install

Then, create a file at the root of the repo called .env and set the SESSION_SECRET value:

SESSION_SECRET=abc123

Then, run npm run build or npm run dev to build.

Now, run npm start and open your browser to http://localhost:8787

Extension points exported contracts — how you extend this code

ParseOptions (Interface)
(no doc)
app/components/json-schema-map.d.ts
HierarchicalTypes (Interface)
(no doc)
app/utilities/dataType.ts
ColumnViewNode (Interface)
(no doc)
app/useColumnView/index.ts
Location (Interface)
(no doc)
app/components/json-schema-map.d.ts
ParseResult (Interface)
(no doc)
app/components/json-schema-map.d.ts
StringifyOptions (Interface)
(no doc)
app/components/json-schema-map.d.ts
StringifyResult (Interface)
(no doc)
app/components/json-schema-map.d.ts

Core symbols most depended-on inside this repo

formatStarCount
called by 21
app/utilities/formatStarCount.ts
useJson
called by 15
app/hooks/useJson.tsx
useJsonColumnViewState
called by 12
app/hooks/useJsonColumnView.tsx
classnames
called by 11
app/utilities/classnames.ts
useJsonColumnViewAPI
called by 11
app/hooks/useJsonColumnView.tsx
useJsonDoc
called by 11
app/hooks/useJsonDoc.tsx
sendEvent
called by 8
app/graphJSON.server.ts
convertFromRawXml
called by 8
app/utilities/xml/convertFromRawXml.ts

Shape

Function 340
Interface 9
Class 2
Method 2
Enum 1

Languages

TypeScript100%

Modules by API surface

app/useColumnView/index.ts19 symbols
app/utilities/search.ts14 symbols
app/jsonDoc.server.ts9 symbols
app/hooks/useVirtualTree.ts9 symbols
app/components/JsonPreview.tsx8 symbols
app/routes/j/$id.tsx7 symbols
app/utilities/jsonColumnView.ts6 symbols
app/utilities/formatter.ts6 symbols
app/services/uriPreview.server.ts6 symbols
app/root.tsx6 symbols
app/hooks/useJsonSearch.tsx6 symbols
app/components/SearchPalette.tsx6 symbols

Dependencies from manifests, versioned

@apihero/fetch0.1.0 · 1×
@cloudflare/workers-types2.2.2 · 1×
@codemirror/lang-json0.19.1 · 1×
@codemirror/rangeset0.19.6 · 1×
@heroicons/react1.0.5 · 1×
@js-temporal/polyfill0.3.0 · 1×
@jsonhero/fuzzy-json-search0.2.0 · 1×
@jsonhero/json-infer-types1.2.x · 1×
@jsonhero/json-schema-fns0.0.1 · 1×
@jsonhero/path1.0.17 · 1×
@jsonhero/schema-infer0.1.x · 1×
@radix-ui/react-dialog0.1.7 · 1×

For agents

$ claude mcp add jsonhero-web \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page