標籤:取資料 資料 pos div androi title rate href bean
現在有時候之前的項目需要返回來修改bug看到以下這段代碼
1 if (test != null) { 2 JSONTokener jsonParser = new JSONTokener(test); 3 JSONObject data_jo = (JSONObject) jsonParser.nextValue(); 4 String data_str = data_jo.getString("dateMap"); 5 6 if(!data_str.equals("")){ 7 JSONArray ry = (JSONArray) new JSONTokener(data_str) 8 .nextValue(); 9 ArrayList<JSONObject> list = new ArrayList<JSONObject>();10 11 /**遍曆擷取資料Bean*/12 for(int i=0;i<ry.length();i++){13 JSONObject jo = ry.getJSONObject(i);14 15 /**根據定義好的欄位和伺服器返回的欄位去往對象中set*/16 list.add(jo);17 }18 return list;19 }else {20 return null;21 }22 } else {23 return null;24 }
沒錯,解析伺服器端傳回來的json格式資料,是不是腦海中一萬頭草泥馬在奔騰,我保證,這種低效率的日子一去不複返啦,Gson+GsonFormat+Postman讓解析JSON變的更愉快啦。
先來說說GSON
維基百科說 Gson(又稱Google Gson)是Google公司發布的一個開放原始碼的Java庫,主要用途為序列化Java對象為JSON字串,或還原序列化JSON字串成Java對象,通俗易懂。
咱們往項目中添加Gson支援(IDE為AS)
點擊File -> Project Structure 然後看:
接下來我們鍵入搜尋Gson 待搜尋結果出來後連續選取點擊OK按鈕
然後我們去gradler檔案中找找
前邊是添加Gson 的一種方法,其實咱麼可以直接往grader檔案中dependencies添加
compile ‘com.google.code.gson:gson:2.8.1‘
說完Gson說說GsonFormat,經過以上步驟之後,我們就可以在代碼中自由切換序列化Java對象和Json字串啦,例如
或者
但是要是我們在接收伺服器字串之後對著它自己來建立對應的序列化Java對象,要是簡單json字串還行,還是複雜的呢,那效率就太低啦,所以我們需要Gsonformat
點擊File -> settings->plugins 搜尋GsonFormat,然後重啟AS即可,現在讓我們測試一下,我們先create一個test.java
然後 滑鼠右鍵->generate->GsonFormat,輸入json字串,點擊ok即可
好啦,這時候我們的bean就搞定啦
到此一套流程下來相對於之前,效率已經大大提高啦,但是我們還可以更進一步,想想我們的資料從哪裡來的,我們在Android 代碼中打斷點擷取的?那豈不是要累死,一個介面打一次斷點,後台開發人員提供的介面文檔?要是開發週期短,沒來的及提供呢?總不能等著吧,到時候咱們這邊拖了進度,怪罪下來不還是咱得扛,這時候Postman就用的上場啦
Postman 是一款功能超級強大的用於發送 HTTP 要求的 Chrome 外掛程式,我們先來看看怎麼安裝
開啟Chrome,點擊右上方"≡"-> 更多工具 -> 擴充程式,拉到最下面點擊點擊擷取更多擴充程式
最後我們過來看看怎麼使用
拿到上面結果之後,我們再建立一個Java序列化對象,然後GsonFormat,最後你愛gson.toJson()還是gson.FromJson(),你喜歡就好。
Gson+GsonFormat+Postman簡單粗暴解析json