在Ansible中将对象列表(字符串,字符串)转换为字典(字符串,列表<string>)

亚历克斯·K

我有一个对象列表(每个对象包含两个字符串类型的属性),我需要将其转换为Dictionary。对象的第一个属性将成为键,对象的第二个属性将必须组合成字符串列表。

我经历了几种解决方案,但找不到确切的需求。

输入示例:

[
    {
        "name": "AAA",
        "value": "111"
    },
    {
        "name": "AAA",
        "value": "222"
    },
    {
        "name": "BBB",
        "value": "333"
    },
    {
        "name": "BBB",
        "value": "444"
    },
    {
        "name": "CCC",
        "value": "555"
    }
]

所需的输出(两个都可行):

[
    {
        "name": "AAA",
        "value": [ "111", "222" ]
    },
    {
        "name": "BBB",
        "value": [ "333", "444" ]
    },
    {
        "name": "CCC",
        "value": [ "555" ]
    }
]
[
    "AAA": [ "111", "222" ],
    "BBB": [ "333", "444" ],
    "CCC": [ "555" ]
]
弗拉基米尔·博特卡

以下任务

- set_fact:
    my_list: "{{ my_list|default([]) +
                 [{item.0: item.1|json_query('[].value')}] }}"
  loop: "{{ input|groupby('name') }}"
- debug:
    var: my_list

"my_list": [
    {
        "AAA": [
            "111", 
            "222"
        ]
    }, 
    {
        "BBB": [
            "333", 
            "444"
        ]
    }, 
    {
        "CCC": [
            "555"
        ]
    }
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将String列表转换为字符串

在C#中将定界字符串转换为KeyValuePair <string,string>的列表

将定界字符串转换为字典<string,string>

将 any[] 转换为 string[] | 将列表(任何)转换为列表(字符串)

在Java中将String []转换为逗号分隔的字符串

将字符串转换为[[String]]

在C#中将定界字符串转换为字典<string,uint>

如何将字符串转换为列表<Map <String,String >>

如何将List <String>列表转换为csv字符串

如何将List <string>转换为列表中逗号分隔引号的字符串

获得“类型不匹配:不能从转换的ArrayList <HashMap的<字符串,字符串>>将列表<地图<String,字符串>>”在实例映射列表

在Swift中将UIImage转换为String并将字符串转换为UIImage

转换[字符串]?在Swift中转换为String

Java的8:如何字符串转换为地图<String,字符串>?

如何将字符串转换为字符串数组 String()?

字符串数组拆分-string []转换为字符串错误

替换列表<string>中的字符串中的字符串

List <String>的列表以字符串排序的字符串数组

如何在go中将[] [2] string转换为map [string]字符串?

将ListBox中的字符串转换为List <String>

将string []文字转换为字符串类型的文字

将List <String>转换为定界字符串

将字符串转换为Set <String>

将字符串转换为ArrayList <String>

Java:将List <String>转换为字符串

将字符串数组转换为List <string>

SpriteKit:“字符串”不能转换为“ DictionaryIndex <String,SKTexture>”

字符串不可转换为DictionaryIndex <String,Any>

C ++:将C字符串转换为std:string