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

如何在Ansible中通过循环拆分哈希表的逗号分隔字段值

完全可以通过Ansible实现该需求,你可以通过循环遍历每个字典元素,配合Ansible内置的字符串拆分过滤器完成格式转换,以下是可直接运行的Playbook示例:

---
- name: 转换JSON字段格式
  hosts: localhost
  gather_facts: no
  vars:
    # 原始输入数据,已修正原示例JSON的语法疏漏(给four补充双引号)
    original_data: [{"x": "one", "y": "two,three"}, {"x": "four", "y": "five,six"}]
  tasks:
    - name: 遍历处理每个字典元素
      set_fact:
        processed_data: "{{ processed_data | default([]) + [
            {
              'x': [item.x],
              'y': item.y.split(',')
            }
          ] }}"
      loop: "{{ original_data }}"

    - name: 打印处理后的结果
      debug:
        var: processed_data

运行上述Playbook后,processed_data变量的输出就和你要求的目标格式完全一致:

[{"x": ["one"], "y": ["two", "three"]}, {"x": ["four"], "y": ["five", "six"]}]

如果你不想用显式循环,也可以通过map+json_query过滤器批量处理元素,写法更简洁:

- name: 用过滤器批量处理数据
  set_fact:
    processed_data: >-
      {{ original_data | map('json_query', '{"x": [x], "y": split(`\`,`, y)}') | list }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:45:05