解析Java中的未知对象

解析Java中的未知对象,java,android,parsing,Java,Android,Parsing,我正在开发一个android应用程序,在那里我使用SOAP从.NET web服务获取一些对象。我拿到我的东西没问题。我使用ksoap2android来处理请求 我需要一种很好的方法将这个对象的类型解析为一个互补的Java对象。有人知道这样做的好方法吗 它由简单类型和其他由简单类型组成的对象组成 我现在知道的唯一方法是: String[] types = o.toString().split(";"); 然后解析字符串数组。有没有更方便的方法 好的,举个例子是个好主意,下面是我的一个对象: a

我正在开发一个android应用程序,在那里我使用SOAP从.NET web服务获取一些对象。我拿到我的东西没问题。我使用ksoap2android来处理请求

我需要一种很好的方法将这个对象的类型解析为一个互补的Java对象。有人知道这样做的好方法吗

它由简单类型和其他由简单类型组成的对象组成

我现在知道的唯一方法是:

String[] types =  o.toString().split(";");
然后解析字符串数组。有没有更方便的方法

好的,举个例子是个好主意,下面是我的一个对象:

anyType{Success=true; UserMessage=anyType{}; TechnicalMessage=anyType{}; IntValue=0;DoubleValue=0; DateTimeValue=0001-01-01T00:00:00; 年龄组=任何类型{}; SessionConfigurations=anyType{Client\u SessionConfiguration=anyType{ID=2; Name=Skoleklasser;}; 客户端会话配置=anyType{ID=3; Name=Virksomheder;}; 客户端会话配置=anyType{ID=4; Name=Gæster;};};}


我从android调用了很多web服务。我扩展org.xml.sax.helpers.DefaultHandler类来处理响应

public class BaseXMLResponseHandler extends DefaultHandler {

    StringBuffer accumulator = new StringBuffer();


    @Override
    public void characters(char[] buffer, int start, int length)
            throws SAXException {
          accumulator.append(buffer, start, length);
    }
}
然后只需实现这些方法

public void endElement(String uri, String localName, String qName) throws SAXException
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
例如:

public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {  
accumulator.setLength(0);  // Ready to accumulate new text
}

List<String> testElements = new ArrayList<String>();
    public void endElement(String uri, String localName, String qName) throws SAXException
{

            if (localName.equals("testelement")) {  
                    testElements.add(accumulator.toString());
                }
    }

    List<String> getElements() {
    return testElements;
    }
public void startElement(字符串uri、字符串localName、字符串qName、属性)引发SAXException{
accumulator.setLength(0);//准备好累积新文本了吗
}
List testElements=new ArrayList();
public void endElement(字符串uri、字符串localName、字符串qName)引发SAXException
{
如果(localName.equals(“testelement”){
add(acculator.toString());
}
}
列出getElements(){
返回测试元素;
}
您是否在问“如何序列化和反序列化Java对象?”

试试看

Google提供了一个很好的JSON解析库,名为


这个问题的答案在很大程度上取决于对象的格式;发布一个示例怎么样?

在一个迂腐的注释中,不是所有对象都由简单类型和其他对象组成吗?其他选项:Google Protobuff和XML。我在文章中包含了一个对象示例。希望这是正确的方法吗?不要再发了。不幸的是,我对使用ksoap2一无所知。我在做在线搜索时注意到了很多教程。我使用kSoap android来处理SOAP。。。我的问题只是找到一种用Java序列化对象的简单方法。