JSON

深入理解Android网络编程:技术详解与最佳实践

字号+ 作者:H5之家 来源:H5之家 2015-10-03 15:02 我要评论( )

解析JSON数据时,首先需要明确待解析的是JSON Object还是JSON Array,然后再解析。举例如下。(1)解析JSON Object之一下面是一个简单的JSON Object,name为名称

> Android > 深入理解Android网络编程:技术详解与最佳实践 3.3.2 JSON数据解析 2013-08-14 11:11:57         我要投稿   

本文所属图书 > 深入理解Android网络编程:技术详解与最佳实践

全书共11章,分为三个部分:概述篇(第1章)在介绍了Android开发平台后,重点讲解了Android网络程序的功能及开发环境的配置,引领读者走进Android网络编程的大门;实战篇(第2~8章),详细讲解了TCP、UDP、HTTP等...  立即去当当网订购

解析JSON数据时,首先需要明确待解析的是JSON Object还是JSON Array,然后再解析。举例如下。

(1)解析JSON Object之一

下面是一个简单的JSON Object,name为名称,Lili是name的值,将name和Lili用“:”隔开,其文本如下。
{"name":"Lili"}

JSONObject.getString("String")方法可以得到JSON对象中String名称对应的值。下面是对上面JSON对象的解析方法:
// 新建JSONObject, jsonString字符串中为上面的JSON对象的文本
JSONObject demoJson = new JSONObject(jsonString);
// 获取name名称对应的值
String s = demoJson.getString("name");

(2)解析JSON Object之二

下面是一个包含两个“名称/值”对的JSON对象,两个“名称/值”对分别是"name1":"android"和"name2":"iphone",中间使用“,”隔开,其文本如下:
{"name1":"android","name2":"iphone"}

上面JSON对象的解析方法如下:
// 新建JSONObject对象,将jsonString字符串转换为JSONObject对象
// jsonString字符串为上面的文本
JSONObject demoJson = new JSONObject(jsonString);
// 获取名称为name1对应的值
String name1= demoJson.getString("name1");
// 获取名称为name2对应的值
String name2 = demoJson.getString("name2");

(3)解析JSON Array

下面是一个简单的JSONArray,number为数组名称,[1,2,3]为数组的内容,其JSON文本表示如下:
{"number":[1,2,3]}
上面的JSON Array解析方法如下:
// 新建JSONObject对象,将jsonString字符串转换为JSONObject对象
// jsonString字符串为上面的文本
JSONObject demoJson = new JSONObject(jsonString);
// 获取number对应的数组
JSONArray numberList = demoJson.getJSONArray("number");
// 分别获取numberList中的每个值
for(int i=0; i<numberList.length(); i++){
       // 因为数组中的类型为int,所以为getInt,其他getString、getLong具有类似的用法
       System.out.println(numberList.getInt(i));
}

(4)解析JSON Object和JSON Array混合对象

下面是一个JSON Object和JSON Array的混合文本,mobile为JSON Object名称,其对应的值为JSON Array,JSON Array中包含的对象为JSON Object,其文本表示如下:
{"mobile":[{"name":"android"},{"name":"iphone"}]}
上面文本的解析方法如下:
// 新建JSONObject对象,将jsonString字符串转换为JSONObject对象
// jsonString字符串为上面的文本
JSONObject demoJson = new JSONObject(jsonString);
// 首先获取名为mobile的对象对应的值
// 该值为JSONArray,这里创建一个JSONArray对象
JSONArray numberList = demoJson.getJSONArray("mobile");
// 依次取出JSONArray中的值
for(int i=0; i<numberList.length(); i++){
      // 从第i个取出JSONArray中的值为JSON Object “名称/值”对
      // 通过getString("name")获取对应的值
      System.out.println(numberList.getJSONObject(i).getString("name"));
}

点击复制链接 与好友分享!回本站首页 您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力   上一篇:3.3.1 JSON简介 下一篇:3.3.3 JSON打包 相关文章

3.3.2 为Android构建Linux的操作系统

3.3.2 CSS属性

3.3.2 旋转手势

3.3.2 服务组件的开发和使用

3.3.2 构建V3的开始菜单

3.3.2 Matrix类的方法

3.3.2 探测方向改变

3.3.2 ListView

3.3.2 内容提供者

3.3.2 表格布局案例

图文推荐

排行热门

199 | 4.4.3 使用PreferenceFragment 185 | 1.2.3 配置Android SDK Manager 179 | 1.2.9 ActionBar框架 169 | 10.1.3 Bitmap和BitmapFactory 164 | 3.11.2 ListFragment 137 | 1.3.1 android.util.LruCache 131 | 2.2.1 动态添加Fragment 123 |

文章 下载 读书

· Win2000下关闭无用端口 · 禁止非法用户登录综合设置 [win9x篇] · 关上可恶的后门——消除NetBIOS隐患 · 网络入侵检测系统 · 潜伏在Windows默认设置中的陷井 · 调制解调器的不安全 · 构建Windows 2000服务器的安全防护林 · SQL Server 2000的安全配置 · Windows优化大师注册机源码 · Process Viewer 汉化版 · Aspcode动画教程 · WIN 2000服务器防止ICMP数据包攻击教程 · 实现网络隐身的简单方法 · 手工进行克隆帐号 · 用W32DASM破解网页合并器的密码 · 注册表操作动画教程 · 黑客攻防技术宝典:Web实战篇(第2版) · 超级网管员——网络安全 · 代码大全(第二版) · 软件之道:软件开发争议问题剖析 · CSS插件工具箱 · CSS入门经典(第3版) ·  · CMMI+敏捷整合开发

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  •  JSON入门级学习总结-JSON数据结构

    JSON入门级学习总结-JSON数据结构

    2016-02-25 11:05

  • ASP.NET Web API 2 返回 Json格式

    ASP.NET Web API 2 返回 Json格式

    2016-02-10 17:18

  • php json时间格式转换

    php json时间格式转换

    2016-02-08 11:48

  • Android中JSON数据格式读取解析创建视频教程

    Android中JSON数据格式读取解析创建视频教程

    2016-02-05 19:00

网友点评