跳转到主要内容

Python Liquid的JSONPath选择器。

项目描述

Liquid JSONPath

JSONPath选择器用于Python Liquid

License
PyPi - Version Python versions
Tests Coverage


目录

安装

使用pip安装JSONPath for Liquid

python -m pip install -U liquid-jsonpath

pipenv

pipenv install liquid-jsonpath

链接

示例

过滤器

此示例将find过滤器添加到Liquid环境中。您可以将find视为标准mapwhere过滤器的先进替代品。它接受一个JSONPath字符串参数,并将其应用于过滤器的左侧值。

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

标签

此示例用支持通过JSONPath表达式管道化可迭代对象的标签替换了标准的{% for %}标签。

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,

许可协议

liquid-jsonpath根据MIT许可协议分发。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

liquid_jsonpath-0.2.0.tar.gz (7.1 kB 查看哈希值)

上传时间

构建分发

liquid_jsonpath-0.2.0-py3-none-any.whl (8.4 kB 查看哈希值)

上传时间 Python 3

由以下支持