JSONObject和JSONArray的基本使用
一、JSONObject和JSONArray的数据表示形式
JSONObject的数据是用 { } 来表示的,
例如: { "name" : "佩奇", "weight" : 50 }
而JSONArray,顾名思义是由JSONObject构成的数组,用 [ { } , { } , ...... , { },"字符串" ] 来表示
例如: [ { "name" : "佩奇", "weight" : 50 } , { "name" : "麦兜", "weight" : 50 ,"height" : 180} ,"小猪信息"] ;
表示了包含2个JSONObject的JSONArray。
可以看到一个很明显的区别,一个用的是 { } ,一个最外面用的是 [ ] ;
二、JSONObject添加元素put(key,value)方法和调用元素方法get(key)
1.put(key,value)方法
put(key,value)其中key是键名,一般为字符串,用于调用后边的value,
value的值为String或JSONObject或JSONArray对象
2.get(key)
get(key),key为键名
getJSONObject(key),key为键名,返回JSONObject对象
getJSONArray(key),key为键名,返回JSONArray对象
实例如下
JSONObject student = new JSONObject();
/*
* put(key,value)其中key是键名,一般为字符串,用于调用后边的value,
* value的值为String或JSONObject或JSONArray对象
*/
//put(key,value)添加String对象
student.put("name", "小明");
student.put("sno", "20160000"); JSONObject address = new JSONObject();
address.put("city", "石家庄市");
address.put("country", "长安区");
//put(key,value)添加JSONObject对象
student.put("address", address); JSONArray family = new JSONArray();
JSONObject father = new JSONObject();
father.put("name", "小明老爸");
father.put("age", 40);
JSONObject mother = new JSONObject();
mother.put("name","小明老妈");
mother.put("age",41);
/*add(value)是JSONArray对象添加元素方法
* value可以是String和JSONObject对象或JSONArray对象
*/
family.add(father);
family.add(mother);
//put(key,value)添加JSONArray对象
student.put("family", family);
/*
* JSONObject对象调用元素用get(key)方法
* key为键名
*/
System.out.println(student.get("name"));
//输出结果 小明
System.out.println(student.get("sno"));
//输出结果 20160000 /*
* JSONObject对象(jsonObject)调用JSONObject对象元素(两种方法)
* 1.jsonObject.getJSONObject(key),key为键名,返回JSONObject对象
* 2.(JSONObject)jsonObject.get(key),key为键名,获得JSONObject对象
*
*/
System.out.println(student.getJSONObject("address"));
System.out.println((JSONObject)student.get("address"));
//以上两种获取结果相同都是
//{"city":"石家庄市","country":"长安区"} /*
* JSONObject对象(jsonObject)调用JSONArray对象元素(两种方法)
* 1.getJSONArray(key),key是键名,返回JSONArray对象
* 2.(JSONArray)jsonArray.get(key),key是键名,获取JSONArray对象
*/
System.out.println(student.getJSONArray("family"));
System.out.println((JSONArray)student.get("family"));
//以上两种获取结果相同都是
//[{"name":"小明老爸","age":40},{"name":"小明老妈","age":41}]
三、如何从JSONArray添加元素方法add(value)和调用元素的方法get(i)
1.add(value)方法
value可以是String对象,JSONArray对象,JSONObject对象
2.get(i)方法
i是元素下标,从0开始
3.getJSONObject(i)方法
获取JSONObject对象元素,i是元素下标,从0开始
3.getJSONArray(i)方法
获取JSONArray对象元素,i是元素下标,从0开始
示例如下
JSONArray pigs = new JSONArray();
JSONObject pig1 = new JSONObject();
pig1.put("name", "佩奇");
JSONObject pig2 = new JSONObject();
pig2.put("name", "猪猪侠");
pigs.add("八戒");
pigs.add(pig1);
pigs.add(pig2);
/*
* 这样构造的JSONArray对象如下
* ["八戒",{"name":"佩奇"},{"name":"猪猪侠"}]
*/
System.out.println(pigs.get(0));
//结果为 八戒
//因为JSONArray对象pigs的第二个元素类型是JSONObject,所以可以使用getJSONObject(key)方法
System.out.println(pigs.getJSONObject(1));
//结果如下
//{"name":"佩奇"}
补充
1.JavaScript中获取JSONObject对象元素
student = {"name":"小明","sno":"20160000"}
例如获取姓名student.name
2.JavaScript中获取JSONArray对象元素
示例
family = [{"name":"小明老爸","age":40},{"name":"小明老妈","age":41}]
获取第一个元素:{"name":"小明老爸","age":40}
family[0]
JSONObject和JSONArray所需j全部Jar包链接
https://pan.baidu.com/share/init?surl=RPmxNKqmjRjzn9P3NFVKAg
提取码:uhw1
如有疑问,联系作者qq:2210756109
JSONObject和JSONArray的基本使用的更多相关文章
- json学习系列(6)JSONObject和JSONArray是JDK的集合部分延伸
我一直觉得JSONObject和JSONArray是JDK集合部分的延伸,它们与JDK的List和Map一脉相承.通过研究JSONObject和JSONArray的结构,我们顺便也复习一下JDK的内容 ...
- JSONObject与JSONArray的使用
1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...
- Java学习笔记50:JSONObject与JSONArray的使用
Java不像PHP解析和生产JSON总是一个比较痛苦的过程.但是使用JSONObject和JSONArray会让整个过程相对舒服一些. 需要依赖的包:commons-lang.jar commons- ...
- Gson解析JsonObject和JsonArray
Gson中重要的几个核心类: Gson.JsonParser.JsonObject.JsonArray. 下面就是解析的步骤: public void parserJsonArray(String s ...
- JSONObject和JSONArray
点击下载json工具 点击下载支持jar包 1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可 ( ...
- [转]JSONObject与JSONArray的使用
http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html 参考文献: http://blog.csdn.net/huangwuy ...
- json:JSONObject与JSONArray的使用
1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...
- JSONObject和JSONArray区别及基本用法
一.JSONObject和JSONArray的数据表示形式 JSONObject的数据是用 { } 来表示的, 例如: { "id" : "123", & ...
- fastjson如何判断JSONObject和JSONArray
1.fastjson如何判断JSONObject和JSONArray,百度一下,教程还真不少,但是是阿里的fastjson的我是没有找到合适的方法.这里用一个还算可以的方法,算是实现了这个效果. 网上 ...
- JSONObject、JSONArray、Map、JavaBean的相互转换
1,JSONObject json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} 2,JSONArray json数组,使用中括号[ ],只不过数组里面的项也是json键 ...
随机推荐
- 【分类问题中模型的性能度量(一)】错误率、精度、查准率、查全率、F1详细讲解
文章目录 1.错误率与精度 2.查准率.查全率与F1 2.1 查准率.查全率 2.2 P-R曲线(P.R到F1的思维过渡) 2.3 F1度量 2.4 扩展 性能度量是用来衡量模型泛化能力的评价标准,错 ...
- mybatis+maven+父子多模块进行crud以及动态条件查询
使用IDEA创建maven项目,File→New→Project→maven→Next→填写GroupId(例:com.zyl)和ArtifactId(mybatis-demo-parent)→Nex ...
- LinkedList源码阅读笔记
LinkedList LinkedList是双向链表,不循环(1.6之前循环),继承AbstractSequentialList类,实现了List, Deque, Cloneable接口. 链表的特点 ...
- pytorch安装及基本用法
20180425更新 安装pytorch0.4.0: conda uninstall pytorch # 如果是CUDA版本的话 conda uninstall cuda80 cuda90 # 如果 ...
- 读书笔记 - javascript 高级程序设计 - 第二章 在Html中使用JavaScript
1 <script>的6个属性 async 立即下载当前script标签的外部脚本 但不能影响别的 charset 没用了 defer 文档显示之后再执行脚本,只对外部脚本有效 lan ...
- HTTP协议(二):作用
前言 上一节我们简单介绍了一下TCP/IP协议族的基本情况,知道了四大层的职责,也了解到我们这一族的家族成员以及他们的能力. 无良作者把我这个主角变成了配角,让我很不爽,好在我打了作者一顿,没错,这次 ...
- JS-语句四
For 循环: for 循环是创建循环时常会用到的工具. 下面是 for 循环的语法: ; 语句 ; 语句 ) { 被执行的代码 } 其中语句1是初始值:语句2是.条件判断:语句3是状态改变:被执行的 ...
- Python之路,Day1 - Python基础1 介绍、基本语法、流程控制
本节内容 1.python介绍 2.发展史 3.python 2.x or python 3.x ? 4.python 安装 5.第一个程序 Hello World 程序 6.变量 7.用户输入 8. ...
- 直击JDD | 京东开启技术服务元年:携手合作伙伴,共创产业未来
11月19日,主题为"突破与裂变"的2019京东全球科技探索者大会(JDDiscovery)在京盛大开幕.京东集团副总裁黎科峰在JDD主论坛做了题为"技术驱动.开放赋能& ...
- [CISCN2019 华北赛区 Day2 Web1]Hack World
知识点:题目已经告知列名和表明为flag,接下来利用ascii和substr函数即可进行bool盲注 eg: id=(ascii(substr((select(flag)from(flag)),1,1 ...