【发布时间】:2016-09-29 13:49:18
【问题描述】:
我正在编写 Ansible 游戏,其中一项任务是将条目附加到 JSON 文档。例如
JSON 文档staff.json:
{
"staff":[
{
"john":[
{
"position":"techwriter"
},
{
"sex":"male"
}
]
}
]
}
我需要将此条目附加到staff:
{
"staff":[
{
"john":[
{
"position":"techwriter"
},
{
"sex":"male"
}
]
},
{
"jane":[
{
"position":"admin"
},
{
"sex":"female"
}
]
}
]
}
条目将从 Ansible template 生成,如下所示:
{
"{{ staff_name }}":[
{
"position":"{{ staff_position }}"
},
{
"sex":"{{ staff_sex }}"
}
]
}
我已经学会在 JSON 文档中使用 jq 到 append entry,如“Add json array element with jq (cmdline)”中所示。但是,我不知道如何在 Ansible 中实现这一点,因为模板会输出到文件中。
我需要这样的解决方案:
cat staff.json | jq '.staff |= .+ ["OUTPUT_FROM_TEMPLATE"]'
欢迎任何想法。
【问题讨论】:
-
我正在删除 jq 标签,因为您不要求 jq 解决方案。