Reading a payload you didn’t write
A formatted 4,000-line response is still 4,000 lines. Most of the time you want one of two things: the shape of the document, or one particular field.
A tree gives you both. Everything starts collapsed, so the top level tells you what kind of thing you’re holding. Open one branch and you see its keys, each with its type and how many children it has (items [2], customer {3}), so you can tell an empty list from a missing one at a glance.
Paths, and why they’re the point
Every row has a path, and the Copy button gives it to you as JavaScript:
data.order.items[1].sku
data.order.customer.tags[0]
That’s usually the reason you opened the document in the first place: you needed to know how to reach a field from code. Objects are addressed by key, arrays by index, exactly as they are in JavaScript, Python or jq.
Searching
The find box matches both keys and values, ignoring case. Branches that contain a match open by themselves and matching rows are highlighted, so a search for email shows you where every email lives, and a search for ord_8842 finds the record carrying that id.
Clearing the box puts the tree back the way you had it: your expanded branches are remembered.
Types at a glance
| Shown as | Means |
|---|---|
{5} |
An object with five keys |
[0] |
An empty array, not the same as a missing field |
null |
Present, and explicitly null |
"7" vs 7 |
A string and a number, which behave differently downstream |
Telling these apart quickly is most of the value: a field that’s null, a field that’s [], and a field that isn’t there at all are three different bugs.
Large documents
The whole document is parsed, but only the first 5,000 rows are drawn, because drawing tens of thousands of rows is what makes a page stutter. If you hit that limit, collapsing a branch or searching brings the rest into reach.
Everything happens in this tab. That matters for the payloads worth exploring: real responses, with real customer data in them.