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 it does
- Opens the 2 packed values in the SNS sample in place — the Message body, and the attribute value inside 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.
- Hold two unpacks in one ledger. Pack after a second Unpack refuses with a reason rather than restoring the wrong bytes.
- Send your text anywhere. The page is static and the engine runs in this tab — open the network panel and watch it stay empty.
The sample
The text below is what the first chip opens — a real document the engine reads, not an illustration written for this page.
How
- Paste the envelope, or the log line that carries it.
- Open the tree. The row whose value is a JSON string shows Unpack — press it, or u on the row.
- Read the structure in place. Pack, or ⌘Z, puts the string back.
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 packed check asks each parser in turn, and the row names the one that opened it.