一、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的基本使用的更多相关文章

  1. json学习系列(6)JSONObject和JSONArray是JDK的集合部分延伸

    我一直觉得JSONObject和JSONArray是JDK集合部分的延伸,它们与JDK的List和Map一脉相承.通过研究JSONObject和JSONArray的结构,我们顺便也复习一下JDK的内容 ...

  2. JSONObject与JSONArray的使用

    1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...

  3. Java学习笔记50:JSONObject与JSONArray的使用

    Java不像PHP解析和生产JSON总是一个比较痛苦的过程.但是使用JSONObject和JSONArray会让整个过程相对舒服一些. 需要依赖的包:commons-lang.jar commons- ...

  4. Gson解析JsonObject和JsonArray

    Gson中重要的几个核心类: Gson.JsonParser.JsonObject.JsonArray. 下面就是解析的步骤: public void parserJsonArray(String s ...

  5. JSONObject和JSONArray

    点击下载json工具 点击下载支持jar包 1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可 ( ...

  6. [转]JSONObject与JSONArray的使用

    http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html 参考文献: http://blog.csdn.net/huangwuy ...

  7. json:JSONObject与JSONArray的使用

    1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...

  8. JSONObject和JSONArray区别及基本用法

    一.JSONObject和JSONArray的数据表示形式 JSONObject的数据是用 {  } 来表示的, 例如:   { "id" : "123", & ...

  9. fastjson如何判断JSONObject和JSONArray

    1.fastjson如何判断JSONObject和JSONArray,百度一下,教程还真不少,但是是阿里的fastjson的我是没有找到合适的方法.这里用一个还算可以的方法,算是实现了这个效果. 网上 ...

  10. JSONObject、JSONArray、Map、JavaBean的相互转换

    1,JSONObject json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} 2,JSONArray json数组,使用中括号[ ],只不过数组里面的项也是json键 ...

随机推荐

  1. 九、CI框架之将URI转为数组原型

    一.输入以下代码,uri_to_assoc的参数默认从3开始 二.输出效果如下: 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦, ...

  2. Django ORM多表查询练习

    ORM多表查询 创建表结构: from django.db import models # 创建表结构 # Create your models here. class Class_grade(mod ...

  3. JSTL 运算符汇总

    算术运算符 + . - . * . / (或 div )和 % (或 mod )  关系运算符 == (或 eq ). != (或 ne ). < (或 lt ). > (或 gt ). ...

  4. SASS - 函数

    SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – 语法 SASS – 变量 SASS- 局部文件(Partial) SASS – 混合(Mixin) SASS ...

  5. Windows添加远程访问用户

    Windows远程访问 命令:mstsc ------------------------------------------------------------------------------- ...

  6. delphi的procedure of object

    delphi的procedure of object(一个特殊的指针类型) 理论: //适用于实现不是某一特定过程或函数 type TNotifyEvent = procedure(Sender: T ...

  7. Docker安装 - CentOS7环境

    Docker安装 - CentOS7环境 安装Docker 我是虚拟机装的Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核 ...

  8. UVA 11552 序列划分模型 状态设计DP

    这个题目刚看到还真不好下手,把一个是 k的倍数的长度的字符串分成len/k块,每块是k个字母,每个块可以重新组合,最后使得整个序列的相同字母尽量在一起,也就是说,最后会把序列从前往后扫,相连的相同字母 ...

  9. studentmanagement

    package javatestywh; public class ScoreInformation { private String stunumber; private String name; ...

  10. 代码杂谈-python函数

    发现函数可以设置属性变量, 如下 newfunc.func , newfunc.args def partial(func, *args, **keywords): """ ...