(请记住,我对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名称空间完成自定义代码?
发布于 2011-10-09 20:46:32
好了,现在我们已经解决了语言问题...:-)
Android中没有内置基于JSON的序列化功能。但是,也有一些第三方JSON库可以做到这一点,比如Jackson和GSON。然而,那些依赖注解的人可能会在Android上遇到一些困难。
https://stackoverflow.com/questions/7703524
复制相似问题