android--Gson转换器

JSON是android与服务器端通信时需要的一种合适的数据交换格式,而Gson是google自带的一个java对象与JSON互相转换的工具包。

通过使用Gson转换器来进行序列化或者反序列化来进行android与服务器端的通信。

Gson常用的两种方法:1.toJson(),将java对象转为Json格式,对于简单对象如(数组或者是List),直接用java对象作为参数,例如:

 1 Gson gson=new Gson();
 2 List<Person> persons= new ArrayList<Person>();
 3 for(int i=0;i<10;i++)
 4 {
 5     Person p=new Person();
 6     p.setName("name"+i);
 7     p.setAge(i*5);
 8     persons.add(p);        
 9 }
10 string str=gson.toJson(persons);

上述例子中,str的值为List对象转为的Json字符串。

2.fromJson(),将Json相关对象转为java实体。

获取Gson对象的方法有两种:1.new Gson();2.new GsonBuilder.create();通过比较而言,第2种方法功能比较强大.

public static ArrayList<EchoResponse> getParseResponse(Object result) 
{ ArrayList
<EchoResponse> echoResponses = new ArrayList<EchoResponse>();   GsonBuilder gsonBuilder=new GsonBuilder();   Gson gson=gsonBuilder.create();   JsonParser jsonParser =new JsonParser();   JsonElement jsonElement= jsonParser.parse(result.toString());   JsonArray jsonArray =jsonElement.getAsJsonArray();   Iterator it = jsonArray.iterator();   string json;   while(it.hasNext())   {     jsonElement=(JsonElement)it.next();//提取JsonElement     json=jsonElement.toString();//将提取到的JsonElement转化为string     EchoResponse echoResponse=gson.fromJson(json,EchoResponse.class)//将json相关对象转为java实体     echoResponses.add(echoResponse);   }   return echoResponses; }

以上代码清晰表达出如何利用Gson获取android与服务器端通信的数据。

posted @ 2013-01-21 13:36  agle  阅读(287)  评论(0编辑  收藏  举报