外部の WDSL サービスにリクエストを送信していますが、何らかの理由で巨大なオブジェクトが返されます。を使用して接続してSOAPpy
いますが、結果を JSON に解析したいと考えています。ただし、このように、オブジェクト内に多くのオブジェクトを取得しています。
<SOAPpy.Types.structType incident at 53129728>:
このオブジェクトを SOAPpy で解析する方法はありますか? この SOAPpy を使用するのは初めてです。
私は同じ問題を抱えていましたが、ここで解決策を見つけました:
https://github.com/paultag/deapi/blob/master/deapi/emitters.py
基本的に、エンコーダー json クラスを作成し、エンコーディング用のクラスをダンプします。
このようなもの:
class DateEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, date):
return str(obj)
if isinstance(obj, structType):
obj = obj._asdict()
return obj
return json.JSONEncoder.default(self, obj)
そしてそれら:
response = json.dumps(response,sort_keys=True, indent=4, cls=DateEncoder)
これは私のために働いたものです:
pythonObject = SOAPpy.Types.simplify(soapObject)
jsonObject = json.dumps(pythonObject)