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