(请记住,我对 Java 和 Android 完全陌生)
完成了一些测试后,我可以看到在 Android 中进行 Web 服务调用检索结果并使用一些简单的自定义代码获取值非常容易。
例如:
Assuming a response string as such: {"d":"Hello World"}
JSONObject obj = new JSONObject(responseString);
String result = obj.getString("d");
//Result = Hello World
伟大的!这使得使用一些自定义代码检索数据变得非常容易。但是,如果您开始使用更复杂的数据(例如包含自定义类的数组),则此方法变得不那么简单。来自 .NET 背景,我习惯于将一个类标记为可序列化,并且能够快速序列化和反序列化一个类。
例如
public class Movie
{
public Movie() {}
public String Title { get; set; }
blah... blah...
}
public class MovieList : List<Movie> { }
public static void Serialize(String path, MovieList movieList)
{
XmlSerializer serializer = new XmlSerializer(typeof(MovieList));
using (StreamWriter streamWriter = new StreamWriter(path))
{
serializer.Serialize(streamWriter, movieList);
}
}
public static MovieList Deserialize(String path)
{
XmlSerializer serializer = new XmlSerializer(typeof(MovieList));
using (StreamReader streamReader = new StreamReader(path))
{
return (MovieList) serializer.Deserialize(streamReader);
}
}
我意识到这是 XML,但你明白我的意思......无论哪种方式,我只是想知道是否有更好的方法来实现我的目标,然后使用 org.json 命名空间完成自定义代码?