У меня есть JSON, который выглядит следующим образом:
[
{
"username": "saurabhu",
"tenant_name": "abc_c1e3e096-6e95-4b84",
"project_domain_name": "aa",
"user_domain_name": "aa",
"password": "saurabhp",
"roles": [
"admin"
]
},
{
"username": "saurabhu",
"tenant_name": "def_c1e3e096-6e95-4b84",
"project_domain_name": "aa",
"user_domain_name": "aa",
"password": "saurabhp",
"roles": [
"ResellerAdmin",
"heat_stack_owner",
"Member"
]
},
{
"username": "saurabhu",
"tenant_name": "c_c1e3e096-6e95-4b84",
"project_domain_name": "aa",
"user_domain_name": "aa",
"password": "saurabhp",
"roles": [
"ResellerAdmin",
"heat_stack_owner",
"Member"
]
}
]
Я хочу отформатировать его следующим образом:
{
"fool": {
"admin": {
"username": "admin",
"password": "pa55word",
"tenant_name": "demo"
},
"users": [
{
"username": "normal_user",
"password": "password",
"user_domain_name": "Default",
"project_name": "normal_project",
"project_domain_name": "Default"
},
{
"username": "normal_user2",
"password": "password",
"user_domain_name": "Default",
"project_name": "normal_project",
"project_domain_name": "Default"
}
]
}
}
Я могу разбить его на один объект на основе роль администратора с помощью этого:
.[] | if .roles[]=="admin" then {"username","password",project_name: .tenant_name} else {"username","password", "user_domain_name", project_name: .tenant_name, "project_domain_name" } end
но как я могу достичь желаемого результата?