【发布时间】:2021-04-04 20:55:16
【问题描述】:
我将 Eleventy (11ty) 与 Nunjucks 一起使用。我有一些我正在尝试排序的 JSON 数据。 Jinja documentation says,您可以使用点符号按属性排序,但是当我尝试按 address.city 排序时,没有任何反应:
{% for item in testData|sort(attribute="address.city") %}
{{ item.name }}
{% endfor %}
如果我不使用点符号/按顶级字段 (name) 进行排序,它确实工作:
{% for item in testData|sort(attribute="name") %}
{{ item.name }}
{% endfor %}
我的测试数据(testData.json):
[
{
"name": "AAA",
"address":
{
"city": "A?"
},
"salary": 2,
"married": true
},
{
"name": "III",
"address": {
"city": "D?"
},
"salary": 1,
"married": true
}
]
【问题讨论】:
-
sort中对点表示法的支持尚未发布。已经是merged。 -
Jinja 是一系列模板语言中通用语法的实现; Nunjucks 是另一个。 Jinja 实现具有某种特性这一事实并不意味着 Nunjucks 也具有它。
-
@lxg — 感谢您的澄清。 Nunjucks templating documentation 说“Nunjucks 本质上是 jinja2 的一个端口,所以如果你发现这里缺少任何东西,你可以阅读他们的文档。”这就是让我相信 Jinja 中出现的功能也会出现在 Nunjucks 中的原因。
-
我有一些 research 的过滤器支持 Nunjucks,如果你有兴趣的话。
-
谢谢,@LeshaOgonkov!我要收藏它。