dictutils.ops.flatten_pathsΒΆ

dictutils.ops.flatten_paths(d, prefix='', sep='.')[source]ΒΆ

Flatten nested mappings into dot-notation paths.

Parameters:
  • d (Any) – Object to flatten

  • prefix (str) – Prefix for all paths

  • sep (str) – Separator for path components

Return type:

dict[str, Any]

Returns:

Dictionary with flattened paths as keys

Example

>>> import json
>>> data = {"user": {"profile": {"name": "Alice", "tags": ["admin", "user"]}}}
>>> result = flatten_paths(data)
>>> print(json.dumps(result, indent=4))
{
    "user.profile.name": "Alice",
    "user.profile.tags[0]": "admin",
    "user.profile.tags[1]": "user"
}