Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Access nested dicts and lists using JSON-like path notation.

Project description

Access nested dicts and lists using JSON-like path notation.

Note that this code is written for python 3.

The notation is as follows:

You can just write the names of components in your path like you would in javascript:

To access arrays or names with spaces in them, use the ‘[]’ notation. You can use negative indices with arrays to count from the end.

[“foo”][“bar”][“baz”] array[-1].attr [3]

You can use the wildcard character ‘*’ to iterate over all elements:

foo.*.baz [“foo”][*][“baz”]

This may return more or less than a single element. Use get to get the first one, and get_all to get a list of all possibilities. If you want to skip any number of elements in path, use two dots ‘..’:


You can slice the arrays just like in python:


Finally, you can filter the elements:

foo(bar.baz=true)>0).baz foo(bar=”yawn”).bar

At the moment only =, >, <, >=, <= and != operators are available, and you can only use them with strings, integers and boolean values.

This code was written in STX Next.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for jpath, version 1.6
Filename, size File type Python version Upload date Hashes
Filename, size jpath-1.6.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page