json的肥大结果



我正在向外部WDSL服务发送请求,由于某种原因,该服务返回一个巨大的对象。我正在使用SOAPpy连接,我想将结果解析为JSON。但是,我在对象中得到了很多对象。

<SOAPpy.Types.structType incident at 53129728>: 

有什么办法可以用Supappy解析这个对象?是我第一次使用这种肥皂。

如果您使用的是Supappy-有一种方法可以将苏粘的对象转换为本机Python对象 - 然后将其插入json.dumps而不会出错。

soappyobject = SOAPProxy.someMethod()
pythonobject = SOAPProxy.Types.simplify(soapyobject)
jsonobject = json.dumps(pythonobject)

...至少 - 它在我到目前为止掉进的每个对象上都起作用。

不幸的是,它在suappy.wsdl可以返回的WSDL对象上不起作用。

我也有同样的问题,我在这里找到了一个解决方案:

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 = suappy.types.simplify(soapObject)

jsonObject = json.dumps(pythonobject)

相关内容

  • 没有找到相关文章

最新更新