如何用好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;
        }

    }
}

//以下實際運行後效果圖

以上經驗來自一位自學只有中專學歷的老菜鳥~

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