0

私は現在、開発中のWebサービスと通信するためにPythonクライアントに取り組んでいます。現在、Webサービスが非常に特殊な形式のリクエストを予期しているという問題が発生していますが、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が必要な値を返すようにこの動作を変更する方法はありますか?

4

2 に答える 2

4

'["CSO22"]'配列を作成するには、周囲の一重引用符を削除します。

body = {'hosts': ["CSO22"]}
于 2012-11-29T00:40:26.230 に答える
1

それが1つの要素、文字列を含むリストであると想定される場合は"CSO22"、一重引用符を削除します。

>>> body = {'hosts': ["CSO22"]}
>>> print json.dumps(body)
{"hosts": ["CSO22"]}
于 2012-11-29T00:40:51.060 に答える