You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Ansible变量输出的数组括号,生成REST API可用的逗号分隔字符串

解决方法

你通过json_query提取到的nickname结果是列表类型,直接使用Ansible内置的join过滤器指定逗号作为分隔符,即可将列表转换为无括号的逗号分隔字符串。

修改后的Task配置

将原有打印任务的过滤器链末尾追加join(',')即可:

tasks:    
  - name: print comma separated nicknames
    debug:
      msg: "{{ item.portnames | community.general.json_query('[*].nickname') | join(',') }}"
    loop: "{{ msg }}"

补充说明

如果需要同时关联输出对应主机的name值,方便后续分组匹配调用REST API,可以调整输出格式:

tasks:    
  - name: print host name and matched nicknames
    debug:
      msg: "{{ item.name }}: {{ item.portnames | community.general.json_query('[*].nickname') | join(',') }}"
    loop: "{{ msg }}"

执行后输出示例:

ok: [localhost] => (item={'name': 'abcdsto1', ...}) => {
    "msg": "abcdsto1: abcdsto1p1,abcdsto1p2,abcdsto1p3,abcdsto1p4"
}

内容的提问来源于stack exchange,提问作者Linux Admin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:06:06