第一行代码总结:10网络:10.4解析JSON格式数据10.4.2使用GSON

10.4.2使用GSON

GSON没有被添加到android官方的API中,因此如果想要使用该功能的话,则必须要在项目中添加一个GSON的Jar包。

该压缩包的下载地址http://code.google.com/p/google-gson/downloads/lilst

然后将该资源包进行解压,找到我们需要的gson-2.2.4.jar这个文件,将它拷贝到项目的libs目录下。

GSON库究竟是神奇在在哪里?其实它主要就是可以将一段JSON格式的字符串自动映射成一个对象,从而不需要我们再手动去编写代码进行解析了。

使用步骤:

1、定义一个类,将我们需要获取的内容都添加到这个类的字段中。

  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;

    }

  }

 

再获取到服务器返回的数据之后,调用专门的解析数据的方法,在此方法中:

2、创建Gson对象,无参构造。

   Gsongsonn = new Gson();

3、利用gson对象调用其fromJson()方法,解析出带有我们想要字段的类的对象或对象数组。

   List<App>appList = gson.fromJson(jsonData, newTypeToken<List<App>>(){}.getType());

    第一个参数是:JSON数据;

    第二个参数是:借助TypeToken,获得期望解析成的数据类型。

 

完整代码示例:

public classApp{

    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;

    }

  }

 

private voidparseJSONWithGSON(String jsonData){

   Gsongsonn = 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());

   }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值