我正在向外部WDSL服务发送请求,由于某种原因,该服务返回一个巨大的对象。我正在使用SOAPpy进行连接,我想将结果解析为JSON。然而,我在对象中得到了很多对象,就像这样。
<SOAPpy.Types.structType incident at 53129728>: 有没有什么方法可以用SOAPpy解析这个对象?这是我第一次使用这个SOAPpy。
发布于 2014-10-08 01:25:22
如果您使用的是SOAPpy -有一种方法可以将SOAPpy对象转换为原生Python对象-然后它将不会出错地插入到json.dumps中。
soappyobject = SOAPProxy.someMethod()
pythonobject = SOAPProxy.Types.simplify(soapyobject)
jsonobject = json.dumps(pythonobject)...at至少--到目前为止,它对我用过的每一个对象都有效。
不幸的是,它不能在SOAPpy.WSDL可以返回的WSDL对象上工作。
发布于 2014-09-22 20:21:28
我也有同样的问题,我在这里找到了一个解决方案:
https://github.com/paultag/deapi/blob/master/deapi/emitters.py
基本上,您已经创建了一个Encoder 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)发布于 2014-11-20 08:57:14
这是对我有效的方法:
pythonObject = SOAPpy.Types.simplify(soapObject)
jsonObject = json.dumps(pythonObject)
https://stackoverflow.com/questions/21445954
复制相似问题