一:遍历JsonArray
// 一个未转化的字符串
String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ;
// 首先把字符串转成 JSONArray 对象
JSONArray json = JSONArray.fromObject(str );
if(json.size()>0){
for(int i=0;i<json.size();i++){
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
JSONObject job = json.getJSONObject(i);
// 得到 每个对象中的属性值
System.out.println(job.get("name")+"=") ;
}
}
二:遍历JsonObject
SONObject jsonObject = new JSONObject(s);
然后用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象中
JSONObject jsonObject = new JSONObject(jsonString);
Iterator iterator = jsonObject.keys();
while(iterator.hasNext()){
key = (String) iterator.next();
value = jsonObject.getString(key);
}
本文:JAVA:JsonArray 和 JsonObject遍历方法, JsonObject,JsonArray

相关
Related Posts
JAVA 解析JSON数据,只要看这个就够了!JSON是一种类似 XML的语言,是用了存储和交换文本信息的语法。它的全称为JavaScript Object Notation(JavaScript 对象表示法)。与xml对比,它更小、更快,更易解析。 想要更好的解析JSON,必须能看懂JSON数据,这样就必须了解JSON语法,好在它的语法非常简单,规则如下: JSON 语法是 JavaScript 对象表示法语法的子集。 - 数据在名称/值对中:如 "firstName" : "John" - 数据由逗号分隔 - 花括号保存对象 - 方括号保存数组 而组成JSON的值可以为以下几种: - 数字(整数或浮点数) - 字符串(在双引号中) - 逻辑值(true 或 false) - 数组(在方括号中) - 对象(在花括号中) - null 简单的回顾了一下JSON之后,我们就开始正式展开JSON解析之旅了。 传统的JSON解析 最传统的JSON解析莫过于直接使用java中的方法,它通过原生的JSONObject和JSONArray来解析json数据,下面我们就来解析这段json数据吧!json数据如下: { "personData": [ { "age": 12, "name": "nate", "schoolInfo": [ { "School_name": "清华" }, { "School_name": "北大" } ], "url": "http://justcode.ikeepstudying.com/uploadImages/2014/345/36/E8C039MU0180.jpg" }, { "age": 24, "name": "jack", ··· } ], "result": 1 } 分析这段json数据, 第一层是一个花括号括号,即jsonObect对象,然后这个对象里面有一个personData的JSONArray数组,以及一个result属性 第二层personData的JSONArray数组,它里面除了属性之外,还有一个schoolInfo的JSONArray数组 第三次是schoolInfo的JSONArray数组里面的JSONObject对象 这时我们已经将这段数据分析好了,接下来就是写解析方法解析了。 创建一个Httpjson继承Thread的线程类,它能够打开URL网址,然后获取网络中的JSON数据,在进行JSON解析,代码如下: public class Httpjson extends Thread { private String url; private Context context; private ListView listView; private JsonAdapter adapter; private Handler handler; public…
Proxy、SSH 和 VPN 的区别虽然翻墙工具有成百上千个,但是如果把它们分类,绝大部分都是 Proxy、SSH 和 VPN 这三类。 那么,Proxy、SSH 和 VPN 之间有什么区别呢?谁的安全性最高呢? 如果把传输的信息看作一个包裹,那么我们就可以用三个简单的比喻来做比较。 1、Proxy Proxy (代理),可以看作是一个快递员,负责将你的包裹送达收件人。 2、SSH SSH (Secure Shell, 安全外壳协议)是一种加密渠道,本身并不能翻墙,需要结合代理服务器才能够翻墙。所以,我们通常所说的用来翻墙的 SSH,都是指 SSH 代理。 也就是说,SSH 代理 = 代理 + SSH,可以看作是加密了的代理,就好比把包裹装在保险箱里面再交给快递员。 3、VPN 图片来源: http://en.wikipedia.org/wiki/Virtual_private_network 而使用 VPN(Virtual Private Network,虚拟私人网络),就好比不通过快递员,你亲自把包裹交给收件人所在公司的前台,再由前台转交给收件人。 从以上三个比喻可以看出,VPN 的安全性要高于 SSH、而 SSH 又高于 Proxy,因为相对来讲,包裹中途被拦截的几率要比目的地的高,特别是当大家都是在同一个服务器上搭建的时候,但是大多数情况下,这三类翻墙工具都是不 在同一个服务器上的,所以安全性也是相对的。 另外,Proxy 和 SSH 的作用是局部的,只适用于你指定的应用程序(例如浏览器),而 VPN 的作用是全局的,适用于你的整台设备,不管是浏览器、邮件客户端、iTunes 或者其他任何的连接到互联网的应用程序。 还有,通过 Proxy 和 SSH 翻墙的时候,需要设置网络的代理地址,而 VPN 则不需要。 原文:http://jingpin.org/proxy-ssh-vpn/ 参考:什么是 VPN? 本文:Proxy、SSH 和 VPN 的区别
Java 开发环境配置JDK是Java Development Kit的缩写,即Java开发工具集。JDK是整个Java的核心,包括了Java运行环境(JRE)、Java开发工具和Java基础类库。 JRE是Java Runtime Environment的缩写,即Java运行时环境。Java程序运行时必需要JRE的支持。 Java的平台版本: Java分为J2SE、J2EE和J2ME三个不同的平台版本,即标准版(Java 2 Platform, Standard Edition)、企业版(Java 2 Platform, Enterprise Edition)和微型版(Java 2 Platform, Micro Edition)。从Java 1.5(或者Java 5.0)开始,它们被改称为Java SE、Java EE和Java ME。 各平台版本之间的差别在于适用范围不同: 标准版平台(Java SE)允许开发和部署在桌面、服务器、嵌入式和实时环境中使用的Java应用程序。另外,Java SE包含了支持实现Java Web服务的类库,因此标准版是企业版的基础。 企业版平台(Java EE)帮助开发者开发和部署Java Web应用。企业版提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务的体系结构(Service-Oriented Architecture, SOA)和Web 2.0 应用程序。 而微型版平台(Java ME)主要用于移动设备和嵌入式设备,如手机、PDA、电视机顶盒等等。微型版包括灵活的用户界面、健壮的安全模型、许多内置的网络协议、以及对可动态下载的在线和离线应用的支持。基于Java ME规范的应用程序与普通Java程序一样,只需编译一次,即可在许多设备上运行。 Java的版本: 1995年5月23日,Java语言诞生 1996年1月,JDK 1.0发布 1997年2月18日,JDK 1.1发布 1998年12月4日,J2SE 1.2发布,1.2版及其之后的版本也被称为Java 2 1998年12月8日,Java 2企业版发布 2000年5月8日,J2SE 1.3发布 2002年2月13日,J2SE 1.4发布 2004年9月30日,J2SE 1.5发布,J2SE 1.5版也被称为Java 5.0 2006年12月,Java 6.0发布 2010年9月,Java 7.0发布 Java开发与运行环境的搭建(Java SE): window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击如下下载按钮: 此页面包含多个版本的JDK、JRE、帮助文档、源代码等下载内容的链接。如果不是Java程序的开发者,仅仅想在自己的系统中运行Java程序,那么只需要一个JRE就可以了;如果想使用Java开发自己的应用程序,则需要下载JDK,其中已包含JRE,因此下载了JDK后无需再单独下载JRE。 这里以下载Java SE 7的JDK为例,点击相应的Download按钮,转到下载页面: 在下载页面中你需要选择接受许可,并根据自己的系统选择对应的版本,本文以 Window 64位系统为例: 下载后JDK的安装根据提示进行,还有安装JDK的时候也会安装JRE,一并安装就可以了。 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为 C:\Program Files (x86)\Java\jdk1.8.0_91。 注意:操作系统分为32位操作系统和64位操作系统,对应地,JDK也分为32位版和64位版(名称中带有“i586”或“x86”的为32位版,带有“x64”则表示该JDK为64位版)。64位版JDK只能安装在64位操作系统上,32位版JDK则既可以安装在32位操作系统上,也可以安装在64位操作系统上。原因是64位的操作系统能够兼容32位的应用程序。 换句话说,即使CPU是64位的,但如果安装的操作系统是32位的,那么也无法安装64位版的JDK。 在Linux中安装JDK与安装其他程序相同。下载时可以选择.rpm或.tar.gz格式的安装文件,这里以后者为例进行说明。 首先解压缩下载的文件,输入命令“tar -xf jdk-7-linux-i586.tar.gz -C /usr”,将文件解压到/usr目录下,这样就完成了安装(如图): 配置环境变量 1.安装完成后,右击"我的电脑",点击"属性",选择"高级系统设置"; 2.选择"高级"选项卡,点击"环境变量"; 然后就会出现如下图所示的画面: 在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。 变量设置参数如下: 变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.8.0_91 //…