Android 笔记 json GSON,Android中使用Gson解析JSON数据
google-gson-1.7.1-release.zip
把gson-1.7.jar copy到libs(项目根目录新建一个libs文件夹)中。
可以使用以下两种方法解析JSON数据:
通过获取JsonReader对象解析JSON数据:
String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]";
try{
JsonReader reader = new JsonReader(new StringReader(jsonData));
reader.beginArray();
while(reader.hasNext()){
reader.beginObject();
while(reader.hasNext()){
String tagName = reader.nextName();
if(tagName.equals("username")){
System.out.println(reader.nextString());
}
else if(tagName.equals("userId")){
System.out.println(reader.nextString());
}
}
reader.endObject();
}
reader.endArray();
}
catch(Exception e){
e.printStackTrace();
}
通过把JSON数据映射成一个对象,使用Gson对象的fromJson()方法获取一个对象数组进行操作: 创建JSON数据对应的一个POJO对象User.java:
public class User {
private String username ;
private int userId ;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
}
使用Gson对象获取User对象数据进行相应的操作:
Type listType = new TypeToken(){}.getType();
Gson gson = new Gson();
LinkedListusers = gson.fromJson(jsonData, listType);
for (Iterator iterator = users.iterator(); iterator.hasNext();) {
User user = (User) iterator.next();
System.out.println(user.getUsername());
System.out.println(user.getUserId());
}
如果要处理的JSON字符串只包含一个JSON对象,则可以直接使用fromJson获取一个User对象:
String jsonData = "{\"username\":\"arthinking\",\"userId\":001}";
Gson gson = new Gson();
User user = gson.fromJson(jsonData, User.class);
System.out.println(user.getUsername());
System.out.println(user.getUserId());
(特别说明:本文部分内容是在观看marschen的Android视频教程时做的笔记,感谢marschen推出的视频教程,这里也推荐给大家:http://www.marschen.com/portal.php)
Android 笔记 json GSON,Android中使用Gson解析JSON数据相关推荐
- json解析函数c语言,C语言解析json类型数据
转自:http://buluzhai.iteye.com/blog/845404 首先感谢作者!! 先看json的数据结构 c中没有对象,所以json数据是采用链表存储的 C代码如下: typed ...
- gson json转map_Java 中几种常用 JSON 库性能比较
作 者:飞污熊 来 源:xncoding.com/2018/01/09/java/jsons.html 广而告之:由于此订阅号换了个皮肤,系统自动取消了读者的公众号置顶.导致用户接受文章不及时.您可以 ...
- gson生成jsonobject_GSON形式生成和解析json数据
GSON 方式生成和解析 json 数据 客户端与服务器进行数据交互时, 常常需要将数据在服务器端将数据转化成字符串并在客户 端对 json 数据进行解析生成对象. 但是用 jsonObject 和 ...
- 【Android笔记 七】Android Sensor感应器介绍(三)获取用户移动方向,指南针原理
晚上好-今天继续给大家分享一下第二个重要的感应器,其实获取方向本应该很简单的事情,在文章一中看到 有个TYPE_ORIENTATION 关键字,说明可以直接获取设备的移动方向,但是最新版的SDK加上了 ...
- 【Android 笔记 五】 Android Sensor感应器介绍(一)重力感应加速度获取
FETC项目指导老师提出了新的需求,想要在游戏地图中表现出用户用户当期移动的方向,再用GPS的话显然很不靠谱,所以想到了android强大的感应器... 很多移动设备都内置了感应器,android通过 ...
- Android初级开发(九)——网络交互—解析JSON格式数据
一.前言 首先还是在web服务器(我这里用的是tomcat)新建json文本 文本内容 在浏览器上预览一下 二.JSONObject方法 1.我们还是在OkHttp的基础上修改代码,布局不变 Main ...
- android 和风天气 调用示例,Android中 GsonFormat插件解析Jason 数据+和风天气接口解析案例(示例代码)...
首先 转载自http://www.cnblogs.com/androidsuperman/p/4579249.html 感谢 @西北野狼 同学. 第一部分: GsonFormat 插件基本使 ...
- android应用开发-从设计到实现 4-10 解析天气预报数据
解析天气预报数据 界面布局完成以后,就需要设计代码来控制界面上各个元素的逻辑了. 从网络获取天气预报数据: 解析获取的数据: 根据解析的结果更新天气预报界面: 天气预报的数据依赖于网络端的服务器,不是 ...
- JS中生成与解析JSON
js中生成json对象 js中解析json字符串: 1.eval("..."): var a_id=eval('{"name":123}'); 如果eval中的 ...
- JS中生成和解析JSON
1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name = "jyy"; ...
最新文章
- [洛谷P3181] [HAOI2016]找相同字符
- Python之超级好用的8个VS Code扩展
- mysql 的 sql_mode.only_full_group_by属性解析
- signalr中Group 分组群发消息的简单使用
- gtp怎么安装系统_UEFI+GTP模式下使用GHO文件安装WIN7或WIN8图文教程
- 《MATLAB图像处理375例》——1.3 MATLAB概述
- 09-部署配置kubedns插件
- 海康威视录像机(DS-8632N-E8)开机卡LOGO
- mysql 缺省date值_关于MySQL中date类型缺省值
- Java人工弱智算法_人工智障也刷题!Kaggle 入门之实战泰坦尼克号
- 驾驭你的“职场布朗运动”---转载
- 面向对象之多态以及进阶
- python计算线性相关系数_Python+pandas计算数据相关系数(person、Kendall、spearman)
- 一键解锁,宿舍管理隐藏技能
- 二分查找及查找左、右边界
- 奇瑞a3中控按键图解_奇瑞A3空调三个键中间键是如何使用?
- 串口---串口通信数据位长度对传输数据的影响
- 网络调试工具TCP/UDP socket的使用
- ADADELTA AN ADAPTIVE LEARNING RATE METHOD
- igraph的layout布局
热门文章
- HTML5超炫3D雷达扫描地图玩法
- 设置服务器网站播放flv视频文件,网页制作 flvplayer.swf无法播放服务器上flv文件 如何设置...
- 嵌入式“Hello World!”——点亮流水灯
- (七)OpenCV | 色度图
- 什么是拖库,撞库和洗库
- Webcat 数据库管理工具
- pandaboard 安装_pandaboard---文件系统的建立(4)
- 计算机设备没有音频,电脑找不到音频设备是怎么回事_电脑没有音频设备怎么处理...
- mw150um 驱动程序win10_水星MW150UM 1.0无线网卡驱动
- 剪贴板查看器clipbrd.exe