如何用好Gson让json使用更方便之解析篇

在以往项目中比较常用的无非就是解析Json或者生成Json

首先咱们先使用类库

implementation 'com.google.code.gson:gson:2.8.5'   注:本人Android studio版本比较高

实例解析篇:

//然后生成POJO类  //我暂时命名为ObjectInfo ,注:需要养成习惯添加比较注解  以下是类代码

public class ObjectInfo {
    //头像
    private String img;
    //年龄
    private String age;
    //性别#0:男1:女
    private String sex;
    //是否已婚#0:未婚1:已婚
    private String isMarried;
    //积分
    private String integral;
    //余额
    private String balance;

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getIsMarried() {
        return isMarried;
    }

    public void setIsMarried(String isMarried) {
        this.isMarried = isMarried;
    }

    public String getIntegral() {
        return integral;
    }

    public void setIntegral(String integral) {
        this.integral = integral;
    }

    public String getBalance() {
        return balance;
    }

    public void setBalance(String balance) {
        this.balance = balance;
    }
}

//现在我们解析开始,以下是formJson全部代码

/***
 * Gson解析Demo使用
 */
public class FormGsonActivity extends BaseActivity implements View.OnClickListener {
    private String jsonStr = "{\n" +
            "\"img\": \"http://image.biaobaiju.com/uploads/20180802/03/1533152912-BmPIzdDxuT.jpg\",\n" +
            "\"age\": 26,\n" +
            "\"sex\": 1,\n" +
            "\"isMarried\": 0,\n" +
            "\"integral\": 6088,\n" +
            "\"balance\": 16.88\n" +
            "}";
    //返回键空间
    private ImageView backIv;
    //标题控件
    private TextView titleTv;
    //打印信息显示控件
    private TextView printTv;

    @Override
    public int initLayout() {
        return R.layout.activity_gson;
    }

    @Override
    public void initView() {
        backIv = findViewById(R.id.include_back_iv);
        titleTv = findViewById(R.id.include_title_tv);
        printTv = findViewById(R.id.gson_print_tv);

    }

    @Override
    public void initData() {
        titleTv.setText("Json解析");
        ObjectInfo info = formJson(jsonStr);
        printTv.setText("头像地址:"+info.getImg() + "\n年龄:" + info.getAge() + "\n性别:" + info.getSex() + "\n是否已婚:" + info.getIsMarried() + "\n积分:" + info.getIntegral() + "\n余额:" + info.getBalance());

        backIv.setOnClickListener(this);
    }

    private ObjectInfo formJson(String jsonOne) {
        //解析json数据生成ObjectInfo
        ObjectInfo objectInfo = new Gson().fromJson(jsonOne, ObjectInfo.class);
        return objectInfo;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.include_back_iv:
                finish();
                break;
        }

    }
}

//以下实际运行后效果图

以上经验来自一位自学只有中专学历的老菜鸟~

发布了2 篇原创文章 · 获赞 2 · 访问量 1623

猜你喜欢

转载自blog.csdn.net/we5525008/article/details/104608584