我有一个简单的问题。我在Python中有一个带有值的列表。
service_list = [ AX100 , BX200 , CX300 ]
现在我正在尝试将此列表传递给示例JSON正文,我可以在其中打开SNOW票证,这样就是示例JSON数据:
'u_template': 'CONFIG FILE',
'approval': 'Request for Approval',
'u_uuid': 'a13b8180-6400-11e8-a39e-005046a6000d',
'short_description': 'short_description_ie ',
'start_date': '2018-06-11 05:00:55',
'end_date': '2018-06-12 05:00:55',
'work_start': '2018-06-11 05:00:55',
'work_end': '2018-06-12 05:00:55',
'u_creating_group': 'sdo',
'u_affected_ci': service_list
}
但是对于密钥u_affected_ci
,它期望值仅为AX100 , BX200 , CX300
而不是[ AX100 , BX200 , CX300 ]
,因此请向我建议如何删除前面的[
和列表后面的]
添加“”以覆盖整个值,然后传递给JSON正文。
答案 0 :(得分:4)
将列表替换为,
- 分隔字符串。
d = {
...,
'u_affected_ci': ','.join(service_list)
}
data = json.dumps(d)
答案 1 :(得分:1)
看起来JSON需要字符串而不是列表。您不必将此视为从列表中删除[]
(表示JSON中的数组),而是需要弄清楚如何将列表转换为具有正确格式的字符串。特别是,字符串必须以逗号分隔。谢天谢地,我们在字符串上有join()
方法。它的工作原理如下:
> service_list = [ 'AX100' , 'BX200' , 'CX300' ]
> ','.join(service_list)
=> 'AX100,BX200,CX300'
如果将结果存储在变量中,则可以在字典中使用该序列化为JSON的变量:
service_string = ','.join(service_list)