我有一个Web服务,它通过数据库查询向我返回一个类对象。我知道如何从soapObject检索属性,但是该属性包含对象。因此,例如,如果我使用:

SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
        Object obj = resultsRequestSOAP.getProperty("return");


对象的整个值是:“联系人{id =值,用户名=值,位置=值,日期=值}”

问题是:除非对此我无法使用“ split”将其分解为字符串,否则我什么也不能做。我需要知道如何使用可以使用的类型和值从信封或SoapObject中获取该对象。任何帮助将非常感激。如果需要,我可以发布源代码,但是对于这么小的问题,我认为没有必要。

编辑:当我“观察” SoapObject时,故障是:对象具有一个名为“ return”的属性,然后此属性具有一个名为“ Contacts”的值。此值为4个属性,这是我需要的值。希望这可以帮助。

最佳答案

听起来像return是一个嵌套的肥皂对象?我对这个特定的库不是很熟悉,但是类似的东西行得通吗?

SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
SoapObject returnObj = (SoapObject)resultsRequestSOAP.getProperty("return");
Integer id = Integer.valueOf(returnObj.getProperty("id");
String username = (String)returnObj.getProperty("value");
...


如果在某处放置断点,则应该能够检查对象以准确确定它们是什么类型,从而需要进行强制转换。

07-28 08:38