获取外循环的循环索引,以逗号结尾
Get loop index of outer loop and end with comma
在 jinja2 中,我在另一个循环中有一个循环,如果不是最后一个循环,我想写一个逗号。
这是我目前拥有的:
// ksp = "{'a': ['someString', ['someString'], ['a1', 'a2']], 'b': ['someString', ['someString'], ['b1', 'b2', 'b3']]}"
"users": {
{% for kvd in ksp %}
{% set outer_loop = loop %}
{% for kvt in ksp[kvd][2] %}
"{{ kvt }}": {
"username": "{{ ksp[kvd][1][0] }}"
}{% if not outer_loop.last %},{% endif %}{% endfor %}{{ '' }}{% endfor %}
},
这是我得到的:
"users": {
"a1": {
"username": "someString"
},
"a2": {
"username": "someString"
},
"b1": {
"username": "someString"
}
"b2": {
"username": "someString"
}
"b3": {
"username": "someString"
}
}
如您所见,它在最后三个中缺少逗号,因为它们属于最后一个 outer_loop.index,因此它不是有效的 JSON。我该如何解决?
现在工作,只需将“if”条件更改为:
{% if not (outer_loop.last and loop.last) %},{% endif %}{% endfor %}{{ '' }}{% endfor %}
在 jinja2 中,我在另一个循环中有一个循环,如果不是最后一个循环,我想写一个逗号。
这是我目前拥有的:
// ksp = "{'a': ['someString', ['someString'], ['a1', 'a2']], 'b': ['someString', ['someString'], ['b1', 'b2', 'b3']]}"
"users": {
{% for kvd in ksp %}
{% set outer_loop = loop %}
{% for kvt in ksp[kvd][2] %}
"{{ kvt }}": {
"username": "{{ ksp[kvd][1][0] }}"
}{% if not outer_loop.last %},{% endif %}{% endfor %}{{ '' }}{% endfor %}
},
这是我得到的:
"users": {
"a1": {
"username": "someString"
},
"a2": {
"username": "someString"
},
"b1": {
"username": "someString"
}
"b2": {
"username": "someString"
}
"b3": {
"username": "someString"
}
}
如您所见,它在最后三个中缺少逗号,因为它们属于最后一个 outer_loop.index,因此它不是有效的 JSON。我该如何解决?
现在工作,只需将“if”条件更改为:
{% if not (outer_loop.last and loop.last) %},{% endif %}{% endfor %}{{ '' }}{% endfor %}