{
"role": "reader",
"role": "admin"
} Both members are preserved and linked to their source positions. Many object-based consumers expose only one.
Warning · no automatic deletionFormat, minify, inspect the tree, then copy or download without an upload.
Offsets, member order, duplicate names, and number text survive the first pass.
No duplicate is deleted, number rounded, or ambiguous structure guessed.
JSON and undo state stay in this tab’s memory unless you erase them sooner.
Why loss-aware matters
Converting source text directly to a JavaScript object can collapse duplicate member names and turn number lexemes into binary floating-point values. This formatter examines the source first.
{
"role": "reader",
"role": "admin"
} Both members are preserved and linked to their source positions. Many object-based consumers expose only one.
Warning · no automatic deletion{
"id": 9007199254740993,
"rate": 0.12345678901234567890
} The original digits remain in formatted output. The warning explains why a binary64 consumer may not keep them.
Warning · source lexeme preservedVerifiable local processing
Parsing, diagnostics, repair previews, copy, and downloads run in this tab. Follow the dedicated canary procedure to verify the application boundary yourself.
Open the local-processing check →Strict by default
Helpful errors name the rule and location. Repair candidates appear only when the edit can be shown; uncertain meaning stays a manual decision.
| Source feature | Strict JSON | Repair behavior |
|---|---|---|
| Trailing comma | Not valid | Removal proposed and selected as a safe syntax edit. |
| Comment | Not valid | Removal shown before it can be applied. |
| Single quote | Not valid | Conversion requires review because escape intent can differ. |
| Unquoted key | Not valid | A simple key can be quoted only after review. |
NaN, Infinity, undefined | Not valid | Manual only. Replacing them would invent a value. |
| Duplicate key | Valid but risky | Both values stay; the tool never chooses a winner. |
Explore fixtures, Unicode cases, pointers, and common syntax errors →
Honest limits
These enforced safeguards reduce accidental memory and responsiveness failures; they are not a claim that every browser or device performs identically. The tree progressively reveals wide collections instead of mounting every row at once.