Skip to main content

Iterator: Flatten Map

Flatten a deeply-nested JSON object/array into a single-level object whose keys are dotted paths. Useful for normalizing arbitrary structures before writing to a flat tabular format (CSV, XLSX, …).

Unlike the other Iterator nodes, this one runs entirely inside its own executor — it does not have an Iterator::Entry / Iterator::Collect sub-graph.

Example
Input: {"a": {"b": 1, "c": [10, 20]}}
Output: {"a.b": 1, "a.c.0": 10, "a.c.1": 20}

Parameters

Delimiter

Separator between key segments. Defaults to .. Use _ or / if dots conflict with your downstream consumer.

Max depth

Maximum recursion depth. Values nested deeper than this are kept as-is at the depth-limit boundary. Leave empty for unlimited recursion.

Flatten arrays

When enabled (default), arrays are flattened with their numeric index as the key segment (e.g. arr.0, arr.1). When disabled, arrays are kept as JSON arrays under their parent key.

Key prefix

Prefix prepended to every top-level key (e.g. order.). Useful when merging the flattened object into a larger document under a known namespace.

Input

JSONREQUIRED
Nested JSON value to flatten.

Output

JSON
Flattened single-level JSON object.