浅谈JSONObject与JSONArray的区别
例如:一个json字符串如下:
{
"type":[{"a","1"},{"a","2"},{"a","3"}]
}
JSONObject jsonObject1 = JSONObject.fromObject("json字符串"); //得到如上所示 json 对象, 即 JSONObject 对应 {}
String typeArray = jsonObject1.getString("type") //得到字符串数组 如 “[{},{},{}.....]”
JSONArray jsonArray= JSONArray.fromObject(typeArray); //得到jsonarray数组,即 JSONArray 对应[{},{},{}......]
if(jsonArray.size()>0){
for(int i=0;i<jsonArray.size();i++){
JSONObject jsonObject2= jsonArray.getJSONObject(i) // 遍历 jsonarray 数组,把每一个对象转成 json 对象,即 JSONObject 对应 {}
String str = jsonObject2.getString("a"); //json对象的 getString 方法根据键获得对应的值
System.out.println(str); //控制台输出 1 2 3
}
}
可以看到 JSONObject 和 JSONArray 有相同的方法 fromObject,可以把独自的字符串转换成 json 对象和 jsonarray 数组;并且 JSONArray 的 getJSONObject 方法可以得到 JSONObject,即 json 对象;然后 json 对象的 getString 方法可一通过键得到对应的值;
同样 JSONObject 的 getJSONArray 方法可以得到 JSONArray,即 jsonarry 数组
浅谈JSONObject与JSONArray的区别的更多相关文章
- 浅谈 unix, linux, ios, android 区别和联系
浅谈 unix, linux, ios, android 区别和联系 网上的答案并不是很好,便从网上整理的相对专业的问答,本人很菜,大佬勿喷 UNIX 和 Linux UNIX 操作系统(尤尼斯) ...
- 浅谈cookie 和session 的区别
具体来说 cookie 是保存在“客户端”的,而session是保存在“服务端”的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cooki ...
- 浅谈Log4j和Log4j2的区别
相信很多程序猿朋友对log4j都很熟悉,log4j可以说是陪伴了绝大多数的朋友开启的编程.我不知道log4j之前是用什么,至少在我的生涯中,是log4j带我开启的日志时代. log4j是Apache的 ...
- JSONObject 和 JSONArray 的区别和用法
JSONObject 和 JSONArray 的数据表现形式不同: JSONObject的数据是用 { } 来表示的,例如: { "id" : "1", &q ...
- 从内部入手,浅谈malloc和new的区别
想要理解一样事物,就要先用自己的语言去描述一件事物.在我查阅资料后,发现malloc函数简单说来就是空闲内存空间收集器,并把空闲空间关联起来,用术语来说就是:将空闲内存块合并起来并称为"闲置 ...
- 浅谈JSONObject解析JSON数据
我们在做jmeter接口测试时能会用beanshell断言,一般都会将返回值转成JSONObject对象进行处理.本文选取较为复杂json格式数据,也将适用于java接口测试. JSON数据 { &q ...
- 浅谈CPU和GPU的区别
导读: CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,而GPU面对的则是类型高度统一的.相互无依赖的大规模数据 ...
- 浅谈声明与定义的区别 分类: C/C++ 2015-06-01 15:08 157人阅读 评论(4) 收藏
以下代码使用平台是VS2012. 清楚明白声明与定义是一名合格的程序猿的基本要求. 本人认为,C++编码过程中谈及"声明"和"定义"是因为我们要使用一个变量.类 ...
- 浅谈.prop() 和 attr() 的区别
今天编码时遇到一个问题,通过后台查询的数据设置前端checkbox的选中状态,设置选中状态为.attr('checked','true');没有问题,但是当数据重新加载时,checkbox应清空即所有 ...
随机推荐
- 学习笔记之pandas Foundations | DataCamp
pandas Foundations | DataCamp https://www.datacamp.com/courses/pandas-foundations Many real-world da ...
- [转][C#][WebApi]
在 WebApi 中获取网页在服务器上的位置可以使用以下两种方式: string filePath = HostingEnvironment.MapPath(string.Format("/ ...
- Zabbix 创建触发器
#1 配置 主机名10.0.0.33 触发器 点击创建触发器 #2 #4 点击添加 #触发器添加完毕
- int, bool, string的操作
基本数据类型 1.int型 可以求整数的二进制长度.输入一个数字a,"a.bit_length()"语法求a的二进制长度. a = 3 #二进制为11 print(a.bit_le ...
- [UE4]C++中的注释
- MyBatis配置Mapping,JavaType和JDBCType的对应关系,#与$区别
Mybatis中javaType和jdbcType对应关系:JDBC Type Java TypeCHAR StringVARCHAR StringLONGVARCHAR StringNUMERIC ...
- sas 批量处理缺少缺失值
DATA S.customer_grade; SET S.customer_grade; ARRAY NUM{*} _NUMERIC_; DO I=1 TO DIM(NUM); ...
- CRM 更新解决方案之注意事项
一般需要开发新功能时,企业或者软件公司往往会先从生产环境克隆出一台测试用系统. 开发人员会在测试系统中对功能进行开发或者测试. 这时当新功能开发和测试完成之后,需要将新的解决方案导入生产环境. 导入时 ...
- 在VMware安装Centos7
1.新建虚拟机==>典型==>稍后安装操作系统==>选择linux==>centos 64位 2.填写虚拟机名字以及安装位置. 3.磁盘容量采用默认即可. 4. 自定义硬件: ...
- DNS污染
参考链接:http://blog.csdn.net/charleslei/article/details/50117761 DNS污染: DNS污染,又称域名服务器缓存污染(DNS cache pol ...