Finding a key in nested JSON
API responses hide the field you need three or four objects down, inside an array, under a name you almost remember. People ask for a “JSON search tool.” You already have one: a pretty-printer, the browser find-in-page command, and a method for walking structure. This page is that method. JSON Quiet does not add a query language. It makes the document readable so your eyes and Ctrl+F work.
Step 1 — Make it a tree
Paste the body (redact secrets first). Click Format. If Format fails, the document is not JSON yet — stop and use the validator. A minified blob trains you to guess. A formatted tree shows that data is an object, items is an array, and index 0 has attributes.
Use the expanded editor when the document is long. You are not changing data; you are giving yourself a viewport. See minify vs pretty-print if you need to compact again later.
Step 2 — Name the path out loud
Paths are easier to remember than screenshots. Example:
response.data.items[0].attributes.sku
Read braces as “object,” square brackets as “array.” If you see [ you must pick an index or admit you care about every element. If you see { you must pick a key. Writing the path in a ticket saves the next person from repeating your archaeology.
Step 3 — Search for the key, then confirm the parent
Use the browser’s find for "sku" including the quotes. JSON keys are quoted. Finding sku without quotes also hits values and comments you should not have (comments are not JSON). When you land on a match, look one indent level up. Is this the sku under attributes, or a different sku inside a nested recommendation object? Duplicate key names at different depths are common in GraphQL-ish and “included” payloads.
Step 4 — Arrays lie about uniqueness
The first element is not the only shape. Scan two or three items. APIs omit null fields on some records and not others. If item 0 has attributes and item 1 does not, your client code needs a guard — that is a contract issue, not a formatter issue. Schema vs syntax is the next layer when this keeps happening.
Step 5 — Copy a minimal example
Once you found the path, copy the smallest object that still contains it. Validate that slice. A 12-line example is a better fixture than a 200 KB dump. Keep the real dump in your own files if you need it; do not paste the dump into chat.
What this method is not
It is not JMESPath, jq, or JSONPath. Those are excellent when you already know you will query the same shape every day. For a single confusing response, pretty-print plus a written path is faster than installing another mental model. If you live in jq already, format here, then query there.