How to use the JSONPath value extractor
Deeply nested API responses often hide the one field you actually want, whether that is every title in a list or a key you cannot locate by eye. Paste the JSON together with a path and this tool lists the matching values along with the exact position each one came from.
The full JSONPath specification is broad enough that implementations disagree with each other, so this tool deliberately supports a narrow, common subset: $ for the root, .key for a child, ['key'] for names containing spaces or dots, [index] for one array element, [*] and .* for every element or property, and ..key to find that name anywhere further down.
Unsupported syntax is never silently ignored; it stops and says what is missing. That covers filter expressions ?(), slices such as [1:3], unions such as [0,1], and negative indexes. Malformed paths are reported just as directly, whether a bracket was left open or a dot has no name after it.
If the JSON itself is malformed, the exact parse position is passed through, which makes typos easy to spot. When nothing matches, a clear message appears instead of an empty table. When there are a great many matches, only the first block is listed and the label states how many are on screen. Everything runs inside your browser.
Frequently asked questions
Use brackets and quotes. Writing $['odd key'].x reaches a name with spaces or dots in it exactly as written.
Filter syntax is not supported. Pull everything with [*] and pick from the result, or address the position you want by its index.
Use two dots. Writing $..price finds every value under that name at any depth and shows the path where each one was found.