如何在客户端获取对象中的数组?

2024-06-02 07:35:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在客户端的对象中获取一个数组,但是我需要像这样访问字典:

 response.BODY["string"]

首选解决方案是:

 response.BODY

对于以下代码:

class ServerResponse(ComplexModel):
    BODY = Array(String)

    def __init__(self, BODY):
        self.BODY = BODY

class SomeService(ServiceBase):
    @rpc(_returns=ServerResponse)
    def reportEvent(ctx):
        return ServerResponse(["1", "2"])

我是新来spyne所以任何帮助都是非常欢迎的。你知道吗


Tags: 对象代码self客户端string字典responsedef
1条回答
网友
1楼 · 发布于 2024-06-02 07:35:07

Array创建所谓的包装的数组。如果您需要一个未包装的,您可以尝试:

class ServerResponse(ComplexModel):
    BODY = String(max_occurs='unbounded')

    def __init__(self, BODY):
        self.BODY = BODY

这将重复<BODY>标记,而不是在<BODY>标记内重复<string>标记。你知道吗

然而,这并不是SOAP世界中处理数组的标准方法。一些客户端自动检测包装的数组。如果你的没有,我建议你要么改变客户端库,要么学会适应它。你知道吗

相关问题 更多 >