JSONPath selectors for Python Liquid.
Project description
Liquid JSONPath
JSONPath selectors for Python Liquid.
Table of Contents
Installation
Install JSONPath for Liquid using pip:
python -m pip install -U liquid-jsonpath
Or pipenv:
pipenv install liquid-jsonpath
Links
- Docs: https://jg-rp.github.io/liquid/jsonpath/introduction
- Change log: https://github.com/jg-rp/liquid-jsonpath/blob/main/CHANGES.md
- PyPi: https://pypi.org/project/liquid-jsonpath/
- Issue tracker: https://github.com/jg-rp/liquid-jsonpath/issues
Examples
Filter
This example adds the find
filter to a Liquid environment. You can think of find
as an advanced alternative to the standard map
and where
filters. It takes a JSONPath string argument and applies it to the filter's left value.
from liquid import Environment
from liquid_jsonpath import Find
env = Environment()
env.add_filter("find", Find())
data = {
"users": [
{
"name": "Sue",
"score": 100,
},
{
"name": "John",
"score": 86,
},
{
"name": "Sally",
"score": 84,
},
{
"name": "Jane",
"score": 55,
},
]
}
template = env.from_string("{{ data | find: '$.users.*.name' | join: ' ' }}")
print(template.render(data=data)) # Sue John Sally Jane
Tag
This example replaces the standard {% for %}
tag with one that supports piping an iterable through a JSONPath expression.
from liquid import Environment
from liquid_jsonpath import JSONPathForTag
env = Environment()
env.add_tag(JSONPathForTag)
data = {
"users": [
{
"name": "Sue",
"score": 100,
},
{
"name": "John",
"score": 86,
},
{
"name": "Sally",
"score": 84,
},
{
"name": "Jane",
"score": 55,
},
]
}
template = env.from_string(
"{% for name in data | '$.users.*.name' %}"
"{{ name }}, "
"{% endfor %}"
)
print(template.render(data=data)) # Sue, John, Sally, Jane,
License
liquid-jsonpath
is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
liquid_jsonpath-0.2.0.tar.gz
(7.1 kB
view hashes)
Built Distribution
Close
Hashes for liquid_jsonpath-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c460df69225a0c4ab65e31465182752466a189bdf2ee7534c3b93693fb44818c |
|
MD5 | 910522ede5201e6b439c713bf7372984 |
|
BLAKE2b-256 | 0faf678d4183e0e4bb225301dbf4d0369b7907fbb9be386929f2eef3793ad9ec |