Как сказано в комментарии @ rolf82, json не имеет синтаксиса для комментариев , поэтому трудно представить, о чем вы говорите, без конкретного c примера.
Между тем, в jinja2 есть поддержка комментариев в шаблонах, которые не будут отображаться в конечном выводе. Следующий шаблон test.json.j2
:
{#- This is a jinja2 templated json file with comments -#}
{
"test":"{{ var1 }}",
{#- Here we start a dict #}
"testDict":
{
"element1":"{{ var2 }}",
"element2":"{{ var3 }}"
}
{#- End of dict #}
}
, используемый следующей пьесой
---
- hosts: localhost
gather_facts: false
vars:
var1: 1
var2: 2
var3: 3
tasks:
- template:
src: test.json.j2
dest: /tmp/tmp.json
- vars:
content: "{{ lookup('file', '/tmp/tmp.json') | string }}"
debug:
msg: "{{ content | from_json }}"
, даст следующий результат:
$ ansible-playbook play.yml
PLAY [localhost] **************************************************************************************************************************************************************************************************
TASK [template] ***************************************************************************************************************************************************************************************************
changed: [localhost]
TASK [debug] ******************************************************************************************************************************************************************************************************
ok: [localhost] => {
"msg": {
"test": "1",
"testDict": {
"element1": "2",
"element2": "3"
}
}
}
PLAY RECAP ********************************************************************************************************************************************************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
и приведет к следующему файл записывается на диск:
$ cat /tmp/tmp.json
{
"test":"1",
"testDict":
{
"element1":"2",
"element2":"3"
}
}