我试图在json上运行jinja2模板。
这是我的json文件:
{
"results": [
{
"Apps": [
{
"owner": "owner1",
"AppNm": "App1"
}
],
"server": "server1"
},
{
"Apps": [
{
"owner": "owner3",
"AppNm": "App1"
},
{
"owner": "owner2",
"AppNm": "App2"
}
],
"server": "server2"
}
]
}
这是我正在使用的模板:
{%- set app_srv = {} -%}
{%- set apps_list = [] -%}
{%- set owners_list = [] -%}
{%- for srv_chg in server_changes.results -%}
{%- for srv_chg_item in srv_chg.Apps -%}
{%- if srv_chg_item.AppNm not in apps_list -%}
{{ apps_list.append( srv_chg_item.AppNm ) }}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{%- for apps_item in apps_list -%}
{%- for srv_chg in server_changes.results -%}
{%- for srv_chg_item in srv_chg.Apps -%}
{%- if srv_chg_item.owner not in owners_list and srv_chg_item.AppNm == apps_item -%}
{{ owners_list.append( srv_chg_item.owner ) }}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{{ app_srv.update({apps_item: {'owner': owners_list}}) }}
{%- endfor -%}
{{ app_srv|to_nice_json }}
基本思想是以应用程序/服务器的方式而不是服务器/应用程序的方式重新组织json。
这是我从模板得到的输出:
{
"App1": {
"owner": [
"owner1",
"owner3",
"owner2"
]
},
"App2": {
"owner": [
"owner1",
"owner3",
"owner2"
]
}
}
这是我需要的模板输出:
{
"App1": {
"owner": [
"owner1",
"owner3"
]
},
"App2": {
"owner": [
"owner2"
]
}
}
我对这个问题有意见
所有者列表
. 我想当
应用程序列表
循环,循环
所有者列表
将重置。
我不明白在那种情况下如何管理名单。
任何帮助都将不胜感激,
谢谢。