Unstringify JSON
The reverse of stringify. A string that holds another document opens where it sits, as structure; Pack puts the exact bytes back.
What you get
- Opens the 2 packed values in the SNS sample in place — the Message body, and the attribute value inside it
- Opens the SQS sample 3 levels deep in one click — the body, the SNS envelope inside it, the event inside that — each named by the parser that opened it
- Shows Unpack on every string value that parses as JSON, XML or YAML — a finding about your data, not a mode you switch on
- Repeats until nothing inside parses, up to 8 levels — a document inside a string inside a document
- Pack restores the original bytes rather than re-serializing from the tree
- Over records — a Kibana export, an NDJSON log — a packed cell opens in the panel as nested rows, and the cell stays the string the file wrote
What it will not do
- Decode base64, URL-encoding or gzip. A value has to be text that parses.
- Change a cell in a CSV or a log row. Over records the panel opens the value; the source stays as written.
- Guess. A value that does not parse as JSON, XML or YAML stays the string it is.
- Send your text anywhere. The page is static and the engine runs in this tab — open the network panel and watch it stay empty.
What unescaping does
- \" becomes "
"{\"a\":1}"{"a":1}- \\ becomes \
"C:\\temp"C:\temp- \u00e9 becomes é
"caf\u00e9"café- A string that holds a document opens in place
{"m": "{\"a\":1}"}{"m": { "a": 1 }}- Twice-encoded
A string inside a string inside the document opens level by level; Pack in the app puts every byte back.
The sample
What the first sample opens — a real file, not an illustration written for this page.
in VS Code
A hover on a packed value shows what it holds; Unpack this value opens it in place, and undo packs it back. Unpack all — the file, or the workspace — is Pro.
Questions
What is stringified JSON?
JSON written into a string field of another document: every quote escaped as \", every newline as \n. It happens whenever a system stores a payload as text — SNS and SQS envelopes, a log’s message field, a JSON column in a relational database.
How is this different from a JSON unescape tool?
An unescape tool takes the string and hands you the text. Here the string stays in its document: the envelope and the payload read as one tree, and Pack writes the string back where it was.
Does it work on double-encoded JSON?
Yes. Unpack runs again on what it opened until nothing inside parses, up to 8 levels deep.
Can it open XML or YAML inside a field?
Yes — the row names the format it found, and it opens the same way.