Python 从dict获取特定值

Python 从dict获取特定值,python,Python,我有一个使用肥皂水获取soap响应的视图 我得到的输出格式如下: ('birthdate', None)('updated', datetime.date(2014, 7, 11))('connected_to', Test1,Test2) def view_webservice(request): #Url to WSDL file url = 'https://www.domain.com/webservices.nsf/MemberService?WSDL'

我有一个使用肥皂水获取soap响应的视图

我得到的输出格式如下:

('birthdate', None)('updated', datetime.date(2014, 7, 11))('connected_to', Test1,Test2)
def view_webservice(request):


    #Url to WSDL file
    url = 'https://www.domain.com/webservices.nsf/MemberService?WSDL'


    imp = Import('http://schemas.xmlsoap.org/soap/encoding/')
    doctor = ImportDoctor(imp) 


    client = Client(url, username='****', password='****', doctor=doctor)


    user_id='000001'

    result = client.service.readMember(userId=user_id)



    return HttpResponse(result) #Output: ('birthdate', None)('updated', datetime.date(2014, 7, 11))('connected_to', Test1,Test2)
我的视图代码如下所示:

('birthdate', None)('updated', datetime.date(2014, 7, 11))('connected_to', Test1,Test2)
def view_webservice(request):


    #Url to WSDL file
    url = 'https://www.domain.com/webservices.nsf/MemberService?WSDL'


    imp = Import('http://schemas.xmlsoap.org/soap/encoding/')
    doctor = ImportDoctor(imp) 


    client = Client(url, username='****', password='****', doctor=doctor)


    user_id='000001'

    result = client.service.readMember(userId=user_id)



    return HttpResponse(result) #Output: ('birthdate', None)('updated', datetime.date(2014, 7, 11))('connected_to', Test1,Test2)
我尝试过获得如下值:

('birthdate', None)('updated', datetime.date(2014, 7, 11))('connected_to', Test1,Test2)
def view_webservice(request):


    #Url to WSDL file
    url = 'https://www.domain.com/webservices.nsf/MemberService?WSDL'


    imp = Import('http://schemas.xmlsoap.org/soap/encoding/')
    doctor = ImportDoctor(imp) 


    client = Client(url, username='****', password='****', doctor=doctor)


    user_id='000001'

    result = client.service.readMember(userId=user_id)



    return HttpResponse(result) #Output: ('birthdate', None)('updated', datetime.date(2014, 7, 11))('connected_to', Test1,Test2)
birthdate=result.get'birthdate'错误:MemberRead实例没有属性'get'birthdate=result'birthdate'错误:MemberRead实例没有调用方法

获取值的正确方法是什么

编辑: 我对结果的回溯是:

编辑2: 答案是这样的:result.birthdate

SOAP是简单的对象访问协议,所以您得到的是对象。这就是为什么WSDL对要发送的值的类型和期望返回的内容有如此严格的定义

幸运的是,sud和其他SOAP库会为您处理日常细节,并返回正确类型的完全动画对象

要访问任何值,需要将响应视为对象;这意味着在你的情况下,答案是result.birthdate

请记住,返回的对象也将具有正确的数据类型。因此,如果您需要自定义嵌套对象,则必须正确访问它。

如果它是dict,则结果['birthdate']就是这样。然而,它似乎是一个名为MemberRead的类,在没有看到代码甚至没有对您正在使用的库的引用的情况下,我们无法知道它实际上是什么。result=dictresult有效吗?看起来这个对象是一个由键值对序列组成的可编辑对象,简单如下:result.birthdatePrint out dirresult