JsonObject和Gson詳解

參考文件:http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html
1、JsonObjecthtml

1.JAR包簡介

要使程序能夠運行必須引入JSON-lib包,JSON-lib包同時依賴於如下的JAR包:java

  1. commons-lang.jar
  2. commons-beanutils.jar
  3. commons-collections.jar
  4. commons-logging.jar 
  5. ezmorph.jar
  6. json-lib-2.4-jdk15.jar
  7. json-lib-2.4-jdk15-javadoc.jar
  8. json-lib-2.4-jdk15-sources.jar

2.JSONObject對象使用

JSON-lib包是一個beans,collections,maps,java arrays 和XML和JSON互相轉換的包。在本例中,咱們將使用JSONObject類建立JSONObject對象,而後咱們打印這些對象的值。爲了使用JSONObject對象,咱們要引入"net.sf.json"包。爲了給對象添加元素,咱們要使用put()方法。android

 

[java]  view plain copy
 
  1. public static User getUserFromJson(String json) {  
  2.         User user = new User();  
  3.         try {  
  4.             JSONObject obj = JSONObject.fromObject(json);  
  5.             user.setUserId(obj.getInt(Tables.User.Fields.USERID));  
  6.             user.setAccount(obj.getString(Tables.User.Fields.ACCOUNT));  
  7.             user.setPassword(obj.getString(Tables.User.Fields.PASSWORD));  
  8.             user.setGender(obj.getInt(Tables.User.Fields.GENDER));  
  9.             user.setPermission(obj.getInt(Tables.User.Fields.PERMISSION));  
  10.             user.setName(obj.getString(Tables.User.Fields.NAME));  
  11.             user.setRemark(obj.getString(Tables.User.Fields.REMARK));  
  12.             user.setContact(obj.getString(Tables.User.Fields.CONTACT));  
  13.   
  14.             return user;  
  15.         } catch (Exception ex) {  
  16.             ex.printStackTrace();  
  17.         }  
  18.   
  19.         return null;  
  20.     }  

 

 

2、Gson處理Json格式數據json

1.Object to json格式ide

[java]  view plain copy
 
  1. public String getAllVideosByJson() throws Exception {  
  2.         List<Video> videos = service.getAllVideos();  
  3.         StringBuilder sb = new StringBuilder();  
  4.         //Gson gson = new Gson();  
  5.         Gson gson = new Gson();  
  6.         String result = gson.toJson(videos);  
  7.           
  8.         return result;  
  9.     }  

 

2.json格式的字符串變爲Video對象ui

[java]  view plain copy
 
    1. public static List<Video> getJSONAllVideos_2() throws Exception {  
    2.   
    3.         String path = "http://192.168.2.107:8080/VideoWeb/VideoServlet?format=json&type=get";  
    4.         URL url = new URL(path);  
    5.         HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
    6.         conn.setReadTimeout(5 * 1000);  
    7.         conn.setRequestMethod("GET");  
    8.         InputStream inStream = conn.getInputStream();  
    9.         byte[] data = StreamTool.readInputStream(inStream);  
    10.         String json = new String(data);  
    11.         Type typeList = new TypeToken<ArrayList<Video>>() {  
    12.         }.getType();  
    13.         Gson gson = new Gson();  
    14.         ArrayList<Video> videos = gson.fromJson(json, typeList);  
    15.         return videos;  
    16.     }  
相關文章
相關標籤/搜索