Android基础之使用Gson解析json数据 第一弹

本文详细介绍了如何使用Gson库在Android中解析不同类型的json数据,包括单个JSONObject、JSONArray、JSONObject内嵌JSONArray以及复杂的json结构。针对数据字段不固定的问题,提出了解决方案,即使用Map来存储动态key的List Bean对象。
摘要由CSDN通过智能技术生成

Android基础之使用Gson解析json数据 第一弹

首先介绍一下JSON数据的格式

JSON数据 JSON对象 可解析成
{……..} JSONObject Map或Object
[……..] JSONArray List

* 总结:当我们看到 {……..},可以认为他就是一个Map或者是一个自定义的Object,当我们看到 [……..],可以认为他就是一个List

数据 解析后的数据类型
“code”: 0 数据:0 没有双引号,表示Number(int/double/float)型,后面统称为Number型
“message”: “0” 数据:”0”,有双引号,表示String型
“data”: false 数据:false,表示boolean型
“data”: {……} 数据:{……},表示Map型
“data”: [……] 数据:[……] ,表示List型
“data”: null 数据:null,表示空,数据类型未知,可以认为是Object

* 总结:json有以上6种数据类型,归类可以分为两种
* 1、基础数据类型 Number型和boolean型
* 2、对象类型:包括String,List,Map,及其它Object

分类讲解

  • 无论遇到什么样的json数据,我们都是从最外层一步一步往里面分析。

1.单个JSONObject数据


    {
        "code": 0,
        "message": "成功" 
    }

分析:
最外层是一个{…..},根据上面的表格,这个格式可以解析成 Map或者Object
如果解析成Map,会生成两组键值对 key = “code” value = 0 和 key = “message” value = “成功”
如果解析成Object, code和message将是两个成员变量名,类型分别为int 和 String


    //解析称Map的例子
    Gson gson = new Gson();
    Map map = gson.fromJson(json, Map.class);
    int code = (int) map.get("code");

    
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值