我有一个web服务返回一个复杂的对象(比如RouteDetails)。当我从我的android代码中调用这个web服务时我已经使用了ksoap库我在soapobject中得到了一个响应但是当我尝试将它转换为我的复杂的对象,它会引发转发异常,而当我在日志上打印时,它会向我显示这样的输出 -
“RuoteDetails {name =”abc“,id =”2“}”
其中RouteDetails是我的对象 现在我完全不知道如何检索我的对象。任何人都可以帮忙。我已经通过各种链接但无法找到合适的解决方案。
答案 0 :(得分:1)
Ksoap2可以将响应解析为几种类型的对象。
SoapObject
- 默认值。您可以使用其方法getProperty
,getPropertySafely
,getPropertyAsString
等来获取数据。即
String value = response.getPropertySafelyAsString("propertyName", "default");
KvmSerializable
接口并由addMaping()注册的类。 在最后两种情况下,您将从envelope.getResponse()
获取对象(在第一种情况下,您将获得SoapObject)。
因此,您可以从SoapObject
获取数据或实施KvmSerializable
或Marshal
接口并注册您的课程。