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数据相关推荐

  1. json解析函数c语言,C语言解析json类型数据

    转自:http://buluzhai.iteye.com/blog/845404   首先感谢作者!! 先看json的数据结构 c中没有对象,所以json数据是采用链表存储的 C代码如下: typed ...

  2. gson json转map_Java 中几种常用 JSON 库性能比较

    作 者:飞污熊 来 源:xncoding.com/2018/01/09/java/jsons.html 广而告之:由于此订阅号换了个皮肤,系统自动取消了读者的公众号置顶.导致用户接受文章不及时.您可以 ...

  3. gson生成jsonobject_GSON形式生成和解析json数据

    GSON 方式生成和解析 json 数据 客户端与服务器进行数据交互时, 常常需要将数据在服务器端将数据转化成字符串并在客户 端对 json 数据进行解析生成对象. 但是用 jsonObject 和 ...

  4. 【Android笔记 七】Android Sensor感应器介绍(三)获取用户移动方向,指南针原理

    晚上好-今天继续给大家分享一下第二个重要的感应器,其实获取方向本应该很简单的事情,在文章一中看到 有个TYPE_ORIENTATION 关键字,说明可以直接获取设备的移动方向,但是最新版的SDK加上了 ...

  5. 【Android 笔记 五】 Android Sensor感应器介绍(一)重力感应加速度获取

    FETC项目指导老师提出了新的需求,想要在游戏地图中表现出用户用户当期移动的方向,再用GPS的话显然很不靠谱,所以想到了android强大的感应器... 很多移动设备都内置了感应器,android通过 ...

  6. Android初级开发(九)——网络交互—解析JSON格式数据

    一.前言 首先还是在web服务器(我这里用的是tomcat)新建json文本 文本内容 在浏览器上预览一下 二.JSONObject方法 1.我们还是在OkHttp的基础上修改代码,布局不变 Main ...

  7. android 和风天气 调用示例,Android中 GsonFormat插件解析Jason 数据+和风天气接口解析案例(示例代码)...

    首先 转载自http://www.cnblogs.com/androidsuperman/p/4579249.html     感谢 @西北野狼  同学. 第一部分: GsonFormat 插件基本使 ...

  8. android应用开发-从设计到实现 4-10 解析天气预报数据

    解析天气预报数据 界面布局完成以后,就需要设计代码来控制界面上各个元素的逻辑了. 从网络获取天气预报数据: 解析获取的数据: 根据解析的结果更新天气预报界面: 天气预报的数据依赖于网络端的服务器,不是 ...

  9. JS中生成与解析JSON

    js中生成json对象 js中解析json字符串: 1.eval("..."): var a_id=eval('{"name":123}'); 如果eval中的 ...

  10. JS中生成和解析JSON

    1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name = "jyy"; ...

最新文章

  1. [洛谷P3181] [HAOI2016]找相同字符
  2. Python之超级好用的8个VS Code扩展
  3. mysql 的 sql_mode.only_full_group_by属性解析
  4. signalr中Group 分组群发消息的简单使用
  5. gtp怎么安装系统_UEFI+GTP模式下使用GHO文件安装WIN7或WIN8图文教程
  6. 《MATLAB图像处理375例》——1.3 MATLAB概述
  7. 09-部署配置kubedns插件
  8. 海康威视录像机(DS-8632N-E8)开机卡LOGO
  9. mysql 缺省date值_关于MySQL中date类型缺省值
  10. Java人工弱智算法_人工智障也刷题!Kaggle 入门之实战泰坦尼克号
  11. 驾驭你的“职场布朗运动”---转载
  12. 面向对象之多态以及进阶
  13. python计算线性相关系数_Python+pandas计算数据相关系数(person、Kendall、spearman)
  14. 一键解锁,宿舍管理隐藏技能
  15. 二分查找及查找左、右边界
  16. 奇瑞a3中控按键图解_奇瑞A3空调三个键中间键是如何使用?
  17. 串口---串口通信数据位长度对传输数据的影响
  18. 网络调试工具TCP/UDP socket的使用
  19. ADADELTA AN ADAPTIVE LEARNING RATE METHOD
  20. igraph的layout布局

热门文章

  1. HTML5超炫3D雷达扫描地图玩法
  2. 设置服务器网站播放flv视频文件,网页制作 flvplayer.swf无法播放服务器上flv文件 如何设置...
  3. 嵌入式“Hello World!”——点亮流水灯
  4. (七)OpenCV | 色度图
  5. 什么是拖库,撞库和洗库
  6. Webcat 数据库管理工具
  7. pandaboard 安装_pandaboard---文件系统的建立(4)
  8. 计算机设备没有音频,电脑找不到音频设备是怎么回事_电脑没有音频设备怎么处理...
  9. mw150um 驱动程序win10_水星MW150UM 1.0无线网卡驱动
  10. 剪贴板查看器clipbrd.exe