ansible - Ansible 合并 json 对象
问题描述
我需要基于第一个对象键合并两个 JSON 对象
object1 = {
"params" : {
"type": ["type1", "type2"],
"requeststate": []
}
}
object2 = {
"params" : {
"type": ["type2", "type3", "type4"],
"requeststate": ["Original", "Revised" ],
"responsestate": ["Approved" ]
}
}
我需要基于第一个对象键合并两个对象,我的输出应如下所示
mergedobject = {
"params" : {
"type": ["type1", "type2", "type3", "type4"],
"requeststate": ["Original", "Revised"]
}
}
我搜索了我的案例,但没有找到太多细节请告诉我是否可以使用 ansible
我可以将数组与
set_fact:
mergedrequeststate: "{{ object1.params.requeststate + object2.params.requeststate }}"
但我的案例涉及超过 15 个参数对象,我无法声明所有参数对象。它也可能在未来增长,如果可能的话我需要处理它。
如果您需要更多详细信息,请发表评论。谢谢你的支持
解决方案
使用combine
过滤器。
- set_fact:
mergedobject: "{{ object1.params | combine (object2.params) }}"
推荐阅读
- json - 是否有任何 API 服务可以过滤掉 json 数据?
- java - 我想从下面的响应中创建一个数组 List。我的列表应该是 Class Temp 类型
- javascript - MongoDB 限制集合大小
- wordpress - 从课程 ID 获取 Learndash 课程作者 ID
- python-3.x - Python - 如何减去两个日期字符串并将结果转换为毫秒
- java - Java/Swing 将输入从多个 JTextField 保存到文件中
- java - OpenJDK Panama Vector API jdk.incubator.vector 没有为 Vector 点积提供改进的结果
- python - Tensorflow Python 无法在 windows server 2012 R2 上加载本机 TensorFlow 运行时
- javascript - emailjs.send email 仅在调试模式下工作
- iso - HEIF 中对任意编解码器的平台支持