我目前正在使用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将返回我需要它的值?
答案 0 :(得分:4)
删除'["CSO22"]'
周围的单引号以创建数组:
body = {'hosts': ["CSO22"]}
答案 1 :(得分:1)
如果这应该是包含1个元素的列表,即字符串"CSO22"
,则删除单引号。
>>> body = {'hosts': ["CSO22"]}
>>> print json.dumps(body)
{"hosts": ["CSO22"]}