JSON Array Pluck Field

Turn an array of objects into a single flat list: names, emails, IDs, totals, nested values, wildcard matches, or recursive JSONPath-style fields.

Try:
Plucked values

About this tool

JSON Array Pluck Field extracts the same key from every row in a JSON array and returns a flat list. It is useful when you have API results, export files, webhook payloads, or NDJSON logs and only need one column such as id, email, user.name, or orders.*.total.

Paste a top-level array, a wrapper object such as { "items": [...] }, NDJSON lines, or a single object. Then enter a field name or dotted path. The output can be one value per line, CSV, TSV, a JSON array that preserves number and boolean types, or a custom-delimited list.

Worked example

Input JSON:

[{"user":{"name":"Ada"},"email":"[email protected]"},{"user":{"name":"Grace"},"email":"[email protected]"}]

Field:

user.name

Output:

Ada
Grace

Use root when an API response wraps rows under a property such as data, items, or response.results. Use * to fan out arrays (orders.*.total) and ** or JSONPath-style .. to find a key at any depth (**.city).

Limits and edge cases

FAQ

Can I extract nested values?

Yes. Use dotted paths such as user.name, indexes such as tags.0 or tags[0], wildcard paths such as orders.*.total, and recursive descent such as **.city or $..city.

What if my array is inside an API response object?

Set the root array path, for example items, data.results, or response.records. If root is blank, the tool uses a top-level array as-is or the first array-valued property in a wrapper object.

How are missing or null fields handled?

The default is to skip rows where the value is missing or null. Choose empty to keep row positions with blank values, null to emit the word null, or error to stop on the first missing row and report its index.

Can I produce CSV or a quoted list?

Yes. Choose CSV or TSV for delimiter-separated output with RFC-style quoting. Turn on "Quote every text value" for SQL-style or JavaScript-style quoted lists in lines or custom-delimited output.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool json-array-pluck-field '[{"user":{"name":"Ada"},"email":"[email protected]"},{"user":{"name":"Grace"},"email":"[email protected]"}]' 'field=user.name'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/json-array-pluck-field/?json=%5B%7B%22user%22%3A%7B%22name%22%3A%22Ada%22%7D%2C%22email%22%3A%22ada%40example.test%22%7D%2C%7B%22user%22%3A%7B%22name%22%3A%22Grace%22%7D%2C%22email%22%3A%22grace%40example.test%22%7D%5D&field=user.name&root=data.items&format=lines&delimiter=%20%7C%20&quote=true&missing=skip&complex_values=json&unique=true

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.