##使用gson解析json文件

**json的格式有两种:**

**1. {}类型,及数据用{}包含;**

**2. []类型,即数据用[]包含;**

下面用个例子,简单的介绍gson如何解析json,仅使用~

先发两个json 内容

1、最外层是{}

{    
        "resp": "ok",
        "result": {
            "date": "2013-4-19 16:55:58",
            "focus": [
                {
                    "summary": "简介",
                    "title": "标题",
                    "url": "http://www.ceshi.com"
                },
                {
                    "summary": "简介22",
                    "title": "标题22",
                    "url": "http://www.ceshi22.com"
                }
            ],
            "items": [
                {
                    "id": "11",
                    "name": "名称",
                    "price": "88.88"
                },
                {
                    "id": "22",
                    "name": "名称22",
                    "price": "100"
                }
            ]
        }    
    }

2、外层是[]

[    
        {
            "addr": "北京",
            "age": "22",
            "name": "zeng"
        },
        {
            "addr": "上海",
            "age": "20",
            "name": "zhang"
        },
        {
            "addr": "深圳",
            "age": "25",
            "name": "wang"
        }    
    ]

###**一、使用Gson,解析,关键的就是定义好JavaBean类对象**

1、***定义{}类型的JavaBean类***

Bean.java

public class Bean {  //若实现Serializable接口,则不用写下面的SerializedName("字段名"),但成员变量名称必须与json中一样
    //  @SerializedName("resp")  
    //  private String respone;//假如变量命名与解析数据不同,则加上@SerializedName("")  
    private String resp;  
    private Result result;  
    //....下面省略 set ,get

//resultBean类

Result.java

public class Result {    
        private String date;  
        private List<FocusItem> focus;  
        private List<Item> items;  
    }
FocusItem.java

public class FocusItem {        
        private String title;  
        private String summary;  
        private String url;  
    }
Item.java

public class Item {            
        private String name;  
        private int id;  
        private float price; 
    }

2、***定义{}类型的JavaBean类***

Info.java

public class Info {    
        private String name;  
        private int age;  
        private String addr; 
    }

###**二、解析代码,一个最外层是{}  一个是[]**

private void parse() {  
        Gson gson = new Gson();  
        switch (type) { 
        //最外层是{},封装为一个对象
        case OBJ:  
            Bean fromJson = gson.fromJson(readContent, Bean.class);  
            System.out.println(fromJson.toString());  
            break;  
        //最外层是[],封装为一个数组对象
        case ARR:  
            Type type = new TypeToken<List<Info>>() {}.getType();  
            Object fromJson2 = gson.fromJson(readContent, type);  
            List<Info> list = (List<Info>) fromJson2; 
            break; 
        }
    }

转载于:https://www.cnblogs.com/tittles0k/p/5621362.html

Android--------使用gson解析json文件相关推荐

  1. Android之GSON解析JSON

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库. 比如: <pre name="code" class=" ...

  2. Android利用Gson解析Json数据

    其实,要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个 ...

  3. Android中Gson解析json数据使用@SerializedName注解

    @SerializedName 此注解作用在属性上,表明这个属性在序列化成Json的时候,需要将名字序列化成注解的value属性指定的值. 我们有一段json数据如下: { "id" ...

  4. Android 使用Gson解析json用法

    目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https://co ...

  5. Android 使用Gson解析json案例详解

    一.目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https:// ...

  6. android gson解析封装,android之Gson解析json的封装

    首先需要导入Gson这个类以及gson的反射包 import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; 1. 解析 ...

  7. gson解析php,php,android_关于 Gson 解析JSON数据。。。,php,android - phpStudy

    关于 Gson 解析JSON数据... 1.首先,我是从服务器端传回来的JSON数据如下: {"info":"succeed","user_id&qu ...

  8. Java-json系列(一):用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  9. JSONObject 和 GSON 解析 JSON 数据详解(转)

    转载:http://www.jianshu.com/p/f99de3ec0636 点此进入:从零快速构建APP系列目录导图 点此进入:UI编程系列目录导图 点此进入:四大组件系列目录导图 点此进入:数 ...

最新文章

  1. jquery点击元素之外触发事件
  2. 网页中弹出模式对话框
  3. redhat mysql编译安装_RHEL6.2编译安装MySQL 5.6.16过程分享
  4. python 执行文件内容_python执行文件
  5. 我整理的一个经典分页程序(JSP的)
  6. 阿里云产品汇总及解释
  7. Python安装第三方库临时使用国内源
  8. 重庆大学c语言程序设计基础,c语言程序设计基础黄文胜
  9. GMP法规附录《计算机化系统》那些事儿
  10. html的坐标怎么表示,经纬度怎样表示
  11. WGS84转GCj02
  12. 基础软件照搬开源不可取,自力更生才是正途
  13. Spring boot 项目(十五)——实现163邮箱发送邮件
  14. 基于K8S的容器化PaaS平台建设
  15. Excel如何从单元格中提取数值
  16. 2012年终总结之pcode概述
  17. 【软件之道】Word模板的制作及使用
  18. 安卓分屏神器_手机端必备神器,一经推出轻松拥有过千万用户下载量!
  19. python判断三边是否构成三角形并求面积_Python 计算三角形的面积
  20. parameter server学习

热门文章

  1. JDBC中executeQuery、executeUpdate、executeBatch、execute之间的区别
  2. 数据中心储能的未来发展趋势+问题+挑战
  3. 2023年1月手机热门品牌型号排行榜(手机行业趋势分析)
  4. 到底什么是“多态性”?
  5. DB2 SQLSTATE 42803
  6. (centos7-x86)花样玩转zabbix6.0LTS仪表盘构件
  7. 十进制小数转十六进制(浮点型转16进制)C语言代码+2种方法
  8. java中的IO流之序列化与反序列化(对象数据和文件的读写交互)
  9. vscode 使用Eslint 格式化代码
  10. ACM巨全模板(下)