我有一个对象列表(每个对象包含两个字符串类型的属性),我需要将其转换为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] 删除。
我来说两句