Android--------使用gson解析json文件
##使用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文件的更多相关文章
- Android 使用Gson解析json案例具体解释
一.眼下解析json有三种工具:org.json(Java经常使用的解析),fastjson(阿里巴巴project师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:h ...
- Android用Gson解析JSON字符串
在volley框架中有一个 protected Response<Result<T>> parseNetworkResponse(NetworkResponse respons ...
- 使用GSON解析JSON文件
package com.pingyijinren.test; /** * Created by Administrator on 2016/5/19 0019. */ public class App ...
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
- Android网络之数据解析----使用Google Gson解析Json数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Android中使用Gson解析JSON数据
Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...
- 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题
1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...
- 【Android进阶】Gson解析json字符串的简单应用
在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json.这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式, ...
- $Java-json系列(一):用GSON解析Json格式数据
GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...
随机推荐
- Google Protocal Buffer
Google Protocal Buffer 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化或者说序列化.它很适合做数据存储或RPC数据交换格式. 串行化(序列化):将对象存储到解释中式 ...
- 也谈 Python 的中文编码处理
最近业务中需要用 Python 写一些脚本.尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息. 很快,我就遇到了异常: UnicodeEncodeError: ...
- 转:hadoop知识整理
文章来自于:http://tianhailong.com/hadoop%E7%9F%A5%E8%AF%86%E6%95%B4%E7%90%86.html 按照what.how.why整理了下文章,帮助 ...
- c语言里用结构体和指针函数实现面向对象思想
一.基础研究 观察如下两个程序a.c和b.c: A.c: B.c: 这两个程序都是要实现在屏幕上第10行40列打印一个绿色的字符c: 这两个程序的数据组织方式是一样的,都是使用结构体,而且对共性和个性 ...
- temp gbk2utf8
__author__ = 'root' # -*- coding: utf-8 -*- ps = '/data/poitestdata/行政地名.csv' pt = '/data/poitestdat ...
- -_-#Android版QQ浏览器广告过滤
省流加速 - 广告过滤 默认开启 设别广告是添加的标签最外层标签带有adv download
- 【中国剩余定理】【容斥原理】【快速乘法】【数论】HDU 5768 Lucky7
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5768 题目大意: T组数据,求L~R中满足:1.是7的倍数,2.对n个素数有 %pi!=ai 的数 ...
- 《Linear Algebra and Its Applications》-chaper1-向量方程、矩阵方程和线性方程组
向量: 向量的基本运算:向量的运算最基本的一件事情,就是基于它n个分量上进行,即对于两个分量的向量a = <a1,a2>,b = <b1,b2>,有a + b = <a1 ...
- des加密解密源码 C# key值问题
公司协议安全需求.需要对传输内容做des.md5加密. 因为是新人.刚交给我这个任务的时候有点眩晕.就开始在网上找各种des加密的内容.因为不懂以为需要把原理也搞明白,最后误了时间.把自己也搞糊涂了. ...
- Extjs 4.2.0 MVC 架构
内容: 1. 文件结构 2. 创建项目 3. 定义控制器 4. 定义视图 5. 控制Grid 6. 创建Model和Store 7. 通过Model保存数据 8. 保存到服务器端 大型客户端程序通常都 ...