用Gson解析json文件

一般解析json方法自己寫起來較爲繁瑣,利用開源的API可以節省很多事,達到快速的開發。


1) 自己寫的代碼:

   例如:

   private void parserJSON(String strJSON)

       {

           try

           {

               JSONArray jsonArray = new JSONArray(strJSON);

               for (int j = 0; j < jsonArray.length(); j++)

               {

                   JSONObject jsonObject = jsonArray.getJSONObject(j);

                   String icon1Url = jsonObject.getString("icon1Url");

                   String fristTile = jsonObject.getString("fristTitle");

                   String title = jsonObject.getString("title");

                   String message = jsonObject.getString("message");

                   String imageUrl = jsonObject.getString("imageUrl");

                   String time = jsonObject.getString("time");

                   String from = jsonObject.getString("from");

                   mList.add(new HomeData(icon1Url, fristTile, title, message, imageUrl,                                                         time, from));

               }

   

           }

           catch (JSONException e)

           {

               e.printStackTrace();

           }

   

       }


如果json的數據多起來,就要寫很多的get,就比較煩了


2) 用gson解析:

   例如:


   private void parserJSON(String strJSON)

   {

       Gson gson = new Gson();

       Type type = new TypeToken<List<HomeData>>()

                       {

                       }.getType();

       List<HomeData> mDataInfo = gson.fromJson(strJSON, type);

   }

   

總結: 兩者用起來存數據的類HomeData,容器List這多少不了,用了Gson就是不用自己寫get語句

       不用寫try catch,方便了很多。


Gson用法:

   1. 首先,從 code.google.com/p/google-gson/downloads/list下載GsonAPI:

google-gson-2.2.4-release.zip

   2.  把gson-2.2.4.jar copy到libs(項目res目錄新建一個libs文件夾)中。

       

   3. 代碼中使用:就是上面的 2) 的寫法,這是解析一個jsonArray,類的屬性要跟json文件中的            key,完全一致,屬性的類型是value的類型




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章