zoukankan      html  css  js  c++  java
  • JsonObject和Gson详解

    参考文件:http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html
    一、JsonObject

    1.JAR包简介

    要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:

    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()方法。

    [java] view plaincopy
     
    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.     }  

    二、Gson处理Json格式数据

    1.Object to json格式

    [java] view plaincopy
     
    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对象

    [java] view plaincopy
     
      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.     }  
  • 相关阅读:
    2019年第二周作业
    2019年pta作业第二题——求最大值及其下标
    2019春第十一周作业
    2019春第十周作业
    2019年寒假作业3
    2019年寒假作业2
    2019年寒假作业1
    我的老师
    自说
    Day16
  • 原文地址:https://www.cnblogs.com/kobe8/p/4030436.html
Copyright © 2011-2022 走看看