android中Gson解析
最近在做android項目,用到了Gson解析,總結一下放在這里,方便以后使用
服務器端代碼:
package com.sdufe.domain; /** * @author lili.guo * * 2014-6-10下午2:20:31 */ public class People { private int id; private String username; private String address; /** * 無參構造函數 */ public People() { // TODO Auto-generated constructor stub } public People(int id, String username, String address) { this.id = id; this.username = username; this.address = address; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
package com.sdufe.tools; import com.google.gson.Gson; /** * @author lili.guo * * 2014-6-10下午2:39:47 */ public class JsonTools { /** * 將普通的字符串轉化為json * @param value * @return */ public static String CreateJsonStringbyGson(String value){ Gson gson=new Gson(); String json=gson.toJson(value); return json; } }
package com.sdufe.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.sdufe.domain.People; /** * @author lili.guo * * 2014-6-10下午2:27:36 */ public class JsonService { public People getPeople(){ People people=new People(1001, "Thea", "beijing"); return people; } public List<People> getList(){ List<People> list=new ArrayList<People>(); list.add(new People(1001, "Thea", "beijing")); list.add(new People(1001, "Thea", "beijing")); list.add(new People(1001, "Thea", "beijing")); return list; } public List<String> getString(){ List<String> list=new ArrayList<String>(); list.add("beijing"); list.add("shanghai"); return list; } public List<Map<String, Object>> getListMap(){ List<Map<String, Object>> list=new ArrayList<Map<String,Object>>(); Map<String, Object> map1=new HashMap<String, Object>(); map1.put("id", 1001); map1.put("username", "Thea"); map1.put("address", "beijing"); list.add(map1); Map<String, Object> map2=new HashMap<String, Object>(); map2.put("id", 1001); map2.put("username", "Thea"); map2.put("address", "beijing"); list.add(map2); return list; } }
其中jsonService中轉化的數據類型比較多,差不多經常用到的幾種都放在這里了
客戶端代碼:
package com.sdufe.tools; import java.util.ArrayList; import java.util.List; import java.util.Map; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.sdufe.domain.People; /** * @author lili.guo * * 2014-6-10下午2:53:16 */ public class GsonTool { public static People getPeople(String jsonString) { Gson gson = new Gson(); People people = gson.fromJson(jsonString, People.class); return people; } public static List<People> getList(String jsonString) { Gson gson = new Gson(); List<People> list=new ArrayList<People>(); list=gson.fromJson(jsonString, new TypeToken<List<People>>() { }.getType()); return list; } public static List<String> getString(String json){ Gson gson=new Gson(); List<String> list=new ArrayList<String>(); list=gson.fromJson(json, new TypeToken<List<String>>() { }.getType()); return list; } public List<Map<String, Object>> getListMap(String json){ List<Map<String, Object>> list=new ArrayList<Map<String,Object>>(); Gson gson=new Gson(); list=gson.fromJson(json, new TypeToken<List<Map<String,Object>>>() { }.getType()); return list; } }
稍微解釋一下
服務器端負責把String類型的字符串轉化成json類型,而客戶端則負責把json類型解析成普通的String類型
本文由用戶 mync 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!