##使用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; 
        }
    }

Android--------使用gson解析json文件的更多相关文章

  1. Android 使用Gson解析json案例具体解释

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

  2. Android用Gson解析JSON字符串

    在volley框架中有一个 protected Response<Result<T>> parseNetworkResponse(NetworkResponse respons ...

  3. 使用GSON解析JSON文件

    package com.pingyijinren.test; /** * Created by Administrator on 2016/5/19 0019. */ public class App ...

  4. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  5. Android网络之数据解析----使用Google Gson解析Json数据

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. Android中使用Gson解析JSON数据

      Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...

  7. 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

    1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...

  8. 【Android进阶】Gson解析json字符串的简单应用

    在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json.这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式, ...

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

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

随机推荐

  1. Js屏蔽键盘事件

    <script>           function KeyDown(){ //屏蔽鼠标右键.Ctrl+n.shift+F10.F5刷新.退格键            //alert(& ...

  2. jquery easy ui 学习 (9)Pagination in TreeGrid 分页

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. js监听回车事件

    标题通俗的说,也就是绑定当用户按下回车键要执行的事件. 下面,入正题. 第一步,先编写简单的页面代码,这里我们只需要一个按钮就足够了.当然,还有按钮事件. <html> <head& ...

  4. FPGA同步复位异步复位

    今天看了篇博客, 是拿altera的芯片和软件作例子的,讲同步异步复位的: http://blog.sina.com.cn/s/blog_bff0927b0101aaii.html 还有一个博客, h ...

  5. 基于Karma和Jasmine的AngularJS测试

    1:工程目录结构 y@y:karma-t01$ tree -L 3.├── client│   ├── app│   │   └── user│   ├── bower_components│   │ ...

  6. Gold Balanced Lineup

    #include<cstdio> #include<cstring> #include<cmath> #include <cstdlib> #defin ...

  7. 【转】Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果--不错

    原文网址:http://blog.csdn.net/xiaanming/article/details/10163203 转载请注明出处:http://blog.csdn.net/xiaanming/ ...

  8. 编写高质量js代码

    原文链接:http://code.tutsplus.com/tutorials/24-javascript-best-practices-for-beginners--net-5399 jquery代 ...

  9. 动态规划初级练习(二):BadNeighbors

    Problem Statement      The old song declares "Go ahead and hate your neighbor", and the re ...

  10. C++編程札記「基礎」

    一直以為自己最擅長的編程語言是C++,那時自己的水平停留在使用C++來實現數據結構中的各種ADT和ACM算法. 創建一個類,必須實現的成員函數 explicit構造函數 對於單參數構造函數,添加exp ...