Мне трудно заставить пробел управлять тем способом, который мне нужен в шаблоне Pebble. В настоящее время я генерирую JSON с использованием Pebble, но эта проблема и мой сценарий использования не относятся к JSON (иначе я бы использовал библиотеку JSON, например, Джексона).
Вот мой шаблон Pebble:
"items": {
{% for item in items -%}
"{{ item.name }}": "{{ item.value }}"{% if not loop.last %},{% endif %}
{% endfor %}
},
И вот сгенерированный вывод:
"items": {
"item1": "Value 1",
"item2": "Value 2"
},
Есть две проблемы с этим:
- Мне нужно было две пустые строки в шаблоне (одну до
endfor
и одну после endfor
.
- Я по-прежнему получаю лишнюю пустую строку на выходе перед закрывающей волнистой скобкой, то есть
},
.
Я бы хотел, чтобы шаблон выглядел более следующим образом:
"items": {
{% for item in items -%}
"{{ item.name }}": "{{ item.value }}"{% if not loop.last %},{% endif %}
{% endfor %}
},
И я хотел бы, чтобы результат был:
"items": {
"item1": "Value 1",
"item2": "Value 2"
},
Я перепробовал множество комбинаций модификатора whilespace control , но мне не повезло с получением нужного мне формата.