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

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
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Gson 是 Google 提供的一个用来在 Java 对象JSON 数据之间进行映射的 Java 类库,它可以将 JSON 字符串转换为 Java 对象,也可以将 Java 对象转换为 JSON 字符串。下面是使用 Gson解析 JSON 数据的示例代码: 1. 添加 GSON 依赖 在项目的 build.gradle 文件中添加以下依赖: ```groovy dependencies { // ... implementation 'com.google.code.gson:gson:2.8.6' // ... } ``` 2. 定义 Java 类 首先,我们需要定义一个 Java 类来表示 JSON 数据的结构。假设我们要解析JSON 数据格式如下: ```json { "name": "张三", "age": 20, "isMale": true } ``` 那么,我们可以定义一个对应的 Java 类: ```java public class Person { private String name; private int age; private boolean isMale; // 构造函数、getters 和 setters 略 // ... } ``` 3. 解析 JSON 数据 接下来,我们可以使用 Gson 类的`fromJson()`方法将 JSON 字符串转换为 Java 对象。示例代码如下: ```java String jsonData = "{\"name\":\"张三\",\"age\":20,\"isMale\":true}"; // 替换成你要解析JSON 数据 Gson gson = new Gson(); Person person = gson.fromJson(jsonData, Person.class); ``` 以上代码中,`fromJson()`方法的第一个参数是要解析JSON 字符串,第二个参数是要转换为的 Java 类的类型。Gson 会自动将 JSON 中的字段映射到 Java 对象的属性中。 现在,`person`对象中就包含了从 JSON 字符串中解析出来的数据。我们可以通过调用`person.getName()`、`person.getAge()`等方法获取属性的值。 注意:使用 Gson 解析 JSON 数据的前提是,JSON 字符串的字段名要与 Java 对象的属性名匹配。如果不匹配,需要通过`@SerializedName`注解或`FieldNamingStrategy`接口来指定对应关系。具体使用方法可以参考 Gson 的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值