Skip to content

resolvePath

Resolve dot/bracket notation paths against JSON values.

Signature

typescript
function resolvePath(
  root: unknown,
  path: string,
  maxItems?: number
): ResolveResult | ResolveError;

Parameters

ParameterTypeDefaultDescription
rootunknownThe JSON value to resolve against
pathstringDot/bracket path (e.g. data.users[0].name)
maxItemsnumber5Max elements to return for wildcard [*] paths

Path Syntax

SyntaxDescriptionExample
keyObject key accessdata.users
[0]Array indexdata.users[0]
[*]Wildcard (all elements)data.users[*].name

Try it: Key and Index Access

resolvePath()
path
Input
Output

Try it: Wildcards

Change the path to data.users[*].name to get all names. Try data.users[*].id for IDs.

resolvePath()
path
Input
Output

Return Types

Success:

typescript
interface ResolveResult {
  ok: true;
  value: unknown;
  isWildcard: boolean;
  totalItems?: number;  // for wildcard: total elements in array
}

Error:

typescript
interface ResolveError {
  ok: false;
  error: string;  // descriptive message with available keys
}

Try it: Error Messages

Try paths that don't exist to see structured error messages. For example: data.missing or data.users[99].

resolvePath()
path
Input
Output