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 ...
随机推荐
- Js屏蔽键盘事件
<script> function KeyDown(){ //屏蔽鼠标右键.Ctrl+n.shift+F10.F5刷新.退格键 //alert(& ...
- jquery easy ui 学习 (9)Pagination in TreeGrid 分页
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js监听回车事件
标题通俗的说,也就是绑定当用户按下回车键要执行的事件. 下面,入正题. 第一步,先编写简单的页面代码,这里我们只需要一个按钮就足够了.当然,还有按钮事件. <html> <head& ...
- FPGA同步复位异步复位
今天看了篇博客, 是拿altera的芯片和软件作例子的,讲同步异步复位的: http://blog.sina.com.cn/s/blog_bff0927b0101aaii.html 还有一个博客, h ...
- 基于Karma和Jasmine的AngularJS测试
1:工程目录结构 y@y:karma-t01$ tree -L 3.├── client│ ├── app│ │ └── user│ ├── bower_components│ │ ...
- Gold Balanced Lineup
#include<cstdio> #include<cstring> #include<cmath> #include <cstdlib> #defin ...
- 【转】Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果--不错
原文网址:http://blog.csdn.net/xiaanming/article/details/10163203 转载请注明出处:http://blog.csdn.net/xiaanming/ ...
- 编写高质量js代码
原文链接:http://code.tutsplus.com/tutorials/24-javascript-best-practices-for-beginners--net-5399 jquery代 ...
- 动态规划初级练习(二):BadNeighbors
Problem Statement The old song declares "Go ahead and hate your neighbor", and the re ...
- C++編程札記「基礎」
一直以為自己最擅長的編程語言是C++,那時自己的水平停留在使用C++來實現數據結構中的各種ADT和ACM算法. 創建一個類,必須實現的成員函數 explicit構造函數 對於單參數構造函數,添加exp ...