Getting Started
The Json-a workspace is divided into two primary zones: the JSON Gutter Editor on the left, and the Interactive Tabbed Tools on the right.
To begin, paste your raw data into the editor. If you do not have JSON on hand, click the Demo Data button in the top navigation bar to populate the workspace with a rich dataset containing objects, metrics, arrays, and configurations.
1. JSON Editor & Formatter
The editor validates syntax in real-time. If there is a syntax error (such as a trailing comma, missing quote, or open bracket), the bottom console will turn red and report the exact parsing error and line index:
- Format (Beautify): Click "Format" in the editor header or use the shortcut to clean indentations to 2 spaces.
- Minify: Click "Minify" to strip all line breaks and whitespace, preparing payloads for compact HTTP transmissions.
- Uploading Files: Click "Upload JSON" in the header to parse local
.jsondocuments directly into your browser.
2. Tree view & JSON Path Finder
The Tree & Search tab displays nested JSON structures. Clicking branch arrows expands and collapses objects and arrays:
- Visual Indicators: Objects display their key counts in curly braces (e.g.
3), and arrays display their length in brackets (e.g.[6]). - JSON Path Extraction: Hover over any tree element to reveal a "Copy Path" button. Clicking this copies the exact JavaScript dot or bracket accessor notation (e.g.
root.metrics[0].requests) directly to your clipboard. - Search Bar: Type keys or values into the search field. The tool lists up to 20 matched segments with their paths and values. Click any result to copy its path.
3. Generating Code and Schemas
Switch to the Code Converters tab to map JSON schemas into strongly-typed language interfaces and representations:
- Select a target from the horizontal language selector (TypeScript, OpenAPI, YAML, Java, Kotlin, C#, Rust, Go, C++, Swift, Python).
- Adjust configuration options in the settings bar, such as custom Root Class Names or schema formats.
- Click "Copy Code" to copy the generated data model structures.
4. Plotting Data to SVG Charts
The Data Chart tab scans your JSON document for arrays of objects. To plot a dataset:
- Select a target array from the Data Source dropdown.
- Choose the property to display on the X-Axis (Label) (e.g., month, label).
- Choose the numeric property to graph on the Y-Axis (Value) (e.g., requests, latency).
- Toggle between Bar, Line, or Area charts. The SVG will render instantly with scaled grid lines and mouse-hover details.
5. Table Grid & Excel Spreadsheet Export
The Grid & Excel tab presents arrays in a spreadsheet table. Use the filter field to query rows:
- Download CSV: Triggers a standard comma-separated values download compatible with all CLI tools and database imports.
- Export to Excel: Generates a comma-delimited export file embedded with a UTF-8 BOM. Double-clicking this file opens Excel directly with preserved strings, dates, and column indexes.
6. Query Sandbox (jq & JSONPath)
The Query Sandbox tab offers inline filtering using either standard JSONPath (e.g., $.systemInfo.engine) or jq selectors (e.g., .metrics[] | select(.requests > 3000)).
- Chaining with Pipes (|): Perform multi-stage mapping. For example,
.metrics[] | .requestswill map over the metrics array and extract only the list of request integers. - Filtering with select(): Filter objects based on conditional comparisons like
>,<,==, and!=. - Applying back to Editor: Once you've filtered down a huge payload to your desired subset, click Apply to Editor to replace the main workspace payload with the filtered results.
7. Side-by-Side JSON Diff
The JSON Diff tab offers structural comparisons of two payloads:
- Loading current workspace: Click "Load Editor -> Original" to populate the left panel with the JSON currently in your main editor.
- Structural Highlighting: Added lines are highlighted in green (right panel), and removed lines are highlighted in red (left panel). Structural formatting is automatically normalized to prevent spacing diff anomalies.
8. Smart Object Import (Java, Python, JS)
If you've copied a data representation from console logs, config properties, or language files, you don't need to format them manually. Paste them into the main editor and click the Convert Object button in the header. The parser will attempt to clean and normalize:
- JavaScript Object Literals: Resolves unquoted keys, single quotes, and basic JS expressions.
- Python Dictionaries: Maps keywords like
True,False, andNoneto standard JSON boolean/null types. - Java Map toString outputs: Fixes unquoted keys/values and translates maps formatted with
=(e.g.{id=123, val=ok}) into standard JSON. - Java Properties: Translates
key=valueconfiguration lines into structured key-value JSON objects.
Frequently Asked Questions
Is my data secure?
Yes, completely. Json-a uses local JavaScript compilers. No servers are contacted during formatting, searching, charting, or code conversions. Your files and datasets remain strictly on your local disk.
Can I import large datasets?
Yes. The tree views and grid systems are engineered for efficiency. However, payloads exceeding 25MB might experience rendering delays depending on your browser's JS engine capabilities.
Why are some keys missing in my chart selectors?
The Y-Axis dropdown displays keys containing numerical data. If a key is parsed as a string (e.g., "1200" instead of 1200), it won't be listed as a metric axis candidate. Format the values as numbers in your JSON.