问题与json.dumps在变量中添加额外的\\

时间:2012-11-29 00:37:29

标签: python json openstack

我目前正在使用python客户端与我正在开发的Web服务进行通信。目前我遇到的问题是我的webservice期望一个非常具体的格式化请求,但是当我通过json.dumps发送我的请求时,它会添加额外的\导致我的web服务失败。

以下是在python中输入一些代码的问题示例:

>>> import json
>>> body = {}
>>> body['hosts'] = '["cso22"]'
>>> print json.dumps(body)
{"hosts": "[\"CSO22\"]"}

所以现在代替body ['hosts']等于'[“CSO22”]'它等于'[\\“CSO22 \\”]'这不是我的web服务所期望的,所以它返回http错误400有没有办法改变这种行为,以便json.dumps将返回我需要它的值?

2 个答案:

答案 0 :(得分:4)

删除'["CSO22"]'周围的单引号以创建数组:

body = {'hosts': ["CSO22"]}

答案 1 :(得分:1)

如果这应该是包含1个元素的列表,即字符串"CSO22",则删除单引号。

>>> body = {'hosts': ["CSO22"]}
>>> print json.dumps(body)
{"hosts": ["CSO22"]}