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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!