首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SOAPpy结果转换为JSON

将SOAPpy结果转换为JSON
EN

Stack Overflow用户
提问于 2014-01-30 09:03:27
回答 3查看 424关注 0票数 0

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

代码语言:javascript
复制
<SOAPpy.Types.structType incident at 53129728>: 

有没有什么方法可以用SOAPpy解析这个对象?这是我第一次使用这个SOAPpy。

EN

回答 3

Stack Overflow用户

发布于 2014-10-08 01:25:22

如果您使用的是SOAPpy -有一种方法可以将SOAPpy对象转换为原生Python对象-然后它将不会出错地插入到json.dumps中。

代码语言:javascript
复制
soappyobject = SOAPProxy.someMethod()
pythonobject = SOAPProxy.Types.simplify(soapyobject)
jsonobject = json.dumps(pythonobject)

...at至少--到目前为止,它对我用过的每一个对象都有效。

不幸的是,它不能在SOAPpy.WSDL可以返回的WSDL对象上工作。

票数 1
EN

Stack Overflow用户

发布于 2014-09-22 20:21:28

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

https://github.com/paultag/deapi/blob/master/deapi/emitters.py

基本上,您已经创建了一个Encoder json类,并将该类转储为编码。

如下所示:

代码语言:javascript
复制
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)

和他们:

代码语言:javascript
复制
response = json.dumps(response,sort_keys=True, indent=4, cls=DateEncoder)
票数 0
EN

Stack Overflow用户

发布于 2014-11-20 08:57:14

这是对我有效的方法:

pythonObject = SOAPpy.Types.simplify(soapObject)

jsonObject = json.dumps(pythonObject)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21445954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档