Android GSON解析JSON数据

本文详细介绍了在Android应用中如何利用OkHttp进行网络请求,并结合Gson解析JSON数据的过程。通过创建CardBean类来映射服务器返回的数据,实现了数据的本地化处理。同时,文章提供了MainActivity中的具体实现代码,包括请求服务器数据的方法和处理返回结果的步骤。
摘要由CSDN通过智能技术生成

上一章:Android功能 实现OKHttp网络请求

效果图:

项目结构:

在这里插入图片描述

导入依赖: implementation 'com.google.code.gson:gson:2.7’
在这里插入图片描述
CardBean.java

public class CardBean {
    private int  Balance;               //当前余额
    private int  insertBalcance;        //充值金额
    private String time;                //时间
    private String user="user1";               //用户名
    private String RESULT;              //连接成功提示
    private String ERRMSG;              //连接成功提示

    public CardBean(){
    }

    public CardBean(int balance, int insertBalcance, String time, String user, String RESULT, String ERRMSG) {
        Balance = balance;
        this.insertBalcance = insertBalcance;
        this.time = time;
        this.user = user;
        this.RESULT = RESULT;
        this.ERRMSG = ERRMSG;
    }

    public int getBalance() {
        return Balance;
    }

    public void setBalance(int balance) {
        Balance = balance;
    }

    public int getInsertBalcance() {
        return insertBalcance;
    }

    public void setInsertBalcance(int insertBalcance) {
        this.insertBalcance = insertBalcance;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getRESULT() {
        return RESULT;
    }

    public void setRESULT(String RESULT) {
        this.RESULT = RESULT;
    }

    public String getERRMSG() {
        return ERRMSG;
    }

    public void setERRMSG(String ERRMSG) {
        this.ERRMSG = ERRMSG;
    }
}

OkHttp封装类不变,不知道的请拉到最顶部点击上一章查看

MainActivity.java

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";   //Log-Name
    private CardBean cardBean = new CardBean();         //新增代码

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        queryOkHttp();
    }

    //请求服务器数据
    private void queryOkHttp() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("UserName", "user1");        //提交数据给服务器-数据1
                    jsonObject.put("CarId",1);                  //提交数据给服务器-数据2
                    final JSONObject result = OkHttp.send("GetCarAccountBalance.do", jsonObject);
                    Log.i(TAG, "run: " + result);   //拿到服务器返回的JSON数据后,打印结果
                    /**
                    *	注意:GSON解析JSON数据的原理是每一个键名要对应 实体bean里的成员变量名
                    *	也就是说名字要一样才能自动映射到对应的成员变量上
                    *	完成后,该bean的映射的成员变量就有值了
                    **/
                    Gson gson = new Gson();                //新增代码
                    cardBean = gson.fromJson(String.valueOf(result),CardBean.class);   //新增代码
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王睿丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值