GSON解析JSON,gsonjson

來源:互聯網
上載者:User

GSON解析JSON,gsonjson

Google提供的GSON開源庫可以讓解析JSON資料的工作簡單到不敢想象的地步。要使用GSON必須要在項目中添加一個 GSON的jar包。首先需要將GSON的資源壓縮包下載下來,下載

地址是:https://github.com/google/gson

GSON的強大之處,在於可以將一段json格式的字串自動對應成一個對象,從而不需要我們再動手去編寫代碼進行解析了。比如說一段json格式的資料如下所示:

 {"name":"tom","age":"20"}

那麼我們就可以定義一個Person類,並加入name和age這兩個欄位,然後只需簡單地調用如下代碼就可以將json資料自動解析成一個Person對象了:
   Gson gson=new Gson();
   Person person=gson.fromJson(jsonData,Person.class);

如果需要解析的是一段json數組會稍微麻煩點,我們需要藉助TypeToken將期望解析的資料類型傳入到fromJson()方法,如下所示:

   List<Person> people=gson.fromJson(jsonData,new TypeToken<List<Person>>(){}.getType());
好了,基本的用法就是這樣了,下面我們來試試,首先新增一個App類,並加入id,name和version這三個欄位,如下所示: 

package com.jack.networktest;    public class App {        private String id;      private String name;      private String version;      public String getId() {          return id;      }      public void setId(String id) {          this.id = id;      }      public String getName() {          return name;      }      public void setName(String name) {          this.name = name;      }      public String getVersion() {          return version;      }      public void setVersion(String version) {          this.version = version;      }              }  

解析代碼:

//使用JSONWithGSON(String jsonData)方法解析json格式的資料      private void parseJSONWithGSON(String jsonData){          Gson gson=new Gson();          List<App> appList=gson.fromJson(jsonData, new                   TypeToken<List<App>>() {}.getType());          for(App app: appList){              Log.d("MainActivity", "id is "+app.getId());              Log.d("MainActivity", "name is "+app.getName());              Log.d("MainActivity", "version is "+app.getVersion());          }      }  

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.