1.JSONObject与JSONArray的使用
参考文献:
http://blog.csdn.net/huangwuyi/article/details/5412500
1.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
- commons-lang.jar
- commons-beanutils.jar
- commons-collections.jar
- commons-logging.jar
- ezmorph.jar
- json-lib-2.2.2-jdk15.jar
2.JSONObject对象使用
JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。
2.1.实例1
package jsontest; import net.sf.json.JSONArray;import net.sf.json.JSONObject; public class JSONObjectSample { // 创建JSONObject对象 private static JSONObject createJSONObject() { JSONObject jsonObject = new JSONObject(); jsonObject.put("username", "huangwuyi"); jsonObject.put("sex", "男"); jsonObject.put("QQ", "413425430"); jsonObject.put("Min.score", new Integer(99)); jsonObject.put("nickname", "梦中心境"); return jsonObject; } public static void main(String[] args) { JSONObject jsonObject = JSONObjectSample.createJSONObject();//静待方法,直接通过类名+方法调用 // 输出jsonobject对象 System.out.println("jsonObject:" + jsonObject); // 判读输出对象的类型 boolean isArray = jsonObject.isArray(); boolean isEmpty = jsonObject.isEmpty(); boolean isNullObject = jsonObject.isNullObject(); System.out.println("是否为数组:" + isArray + ", 是否为空:" + isEmpty + ", isNullObject:" + isNullObject); // 添加属性,在jsonObject后面追加元素。 jsonObject.element("address", "福建省厦门市"); System.out.println("添加属性后的对象:" + jsonObject); // 返回一个JSONArray对象 JSONArray jsonArray = new JSONArray(); jsonArray.add(0, "this is a jsonArray value"); jsonArray.add(1, "another jsonArray value"); jsonObject.element("jsonArray", jsonArray); //在jsonObject后面住家一个jsonArray JSONArray array = jsonObject.getJSONArray("jsonArray"); System.out.println(jsonObject); System.out.println("返回一个JSONArray对象:" + array); // 添加JSONArray后的值 // {"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]} System.out.println("结果=" + jsonObject); // 根据key返回一个字符串 String username = jsonObject.getString("username"); System.out.println("username==>" + username); // 把字符转换为 JSONObject String temp = jsonObject.toString(); JSONObject object = JSONObject.fromObject(temp); // 转换后根据Key返回值 System.out.println("qq=" + object.get("QQ")); } }
输出结果
jsonObject:{"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境"}是否为数组:false, 是否为空:false, isNullObject:false添加属性后的对象:{"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市"}{"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}返回一个JSONArray对象:["this is a jsonArray value","another jsonArray value"]结果={"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}username==>huangwuyiqq=413425430
2.2.实例2.
package jsontest; import net.sf.json.JSONArray;import net.sf.json.JSONObject; public class JSONTest { public static void main(String args[]) { JSONObject jsonObj0 = new JSONObject(); JSONObject jsonObj = new JSONObject(); JSONObject jsonObj2 = new JSONObject(); JSONObject jsonObj3 = new JSONObject(); JSONArray jsonArray = new JSONArray(); //创建jsonObj0 jsonObj0.put("name0", "zhangsan"); jsonObj0.put("sex1", "female"); System.out.println("jsonObj0:"+jsonObj0); //创建jsonObj1 jsonObj.put("name", "xuwei"); jsonObj.put("sex", "male"); System.out.println("jsonObj:"+jsonObj); //创建jsonObj2,包含两个条目,条目内容分别为jsonObj0,jsonObj1 jsonObj2.put("item0", jsonObj0); jsonObj2.put("item1", jsonObj); System.out.println("jsonObj2:"+jsonObj2); //创建jsonObj3,只有一个条目,内容为jsonObj2 jsonObj3.element("j3", jsonObj2); System.out.println("jsonObj3:"+jsonObj3); //往JSONArray中添加JSONObject对象。发现JSONArray跟JSONObject的区别就是JSONArray比JSONObject多中括号[] jsonArray.add(jsonObj); System.out.println("jsonArray:"+jsonArray); JSONObject jsonObj4 = new JSONObject(); jsonObj4.element("weather", jsonArray); System.out.println("jsonObj4:"+jsonObj4); }}
输出结果:
jsonObj0:{"name0":"zhangsan","sex1":"female"}jsonObj:{"name":"xuwei","sex":"male"}jsonObj2:{"item0":{"name0":"zhangsan","sex1":"female"},"item1":{"name":"xuwei","sex":"male"}}jsonObj3:{"j3":{"item0":{"name0":"zhangsan","sex1":"female"},"item1":{"name":"xuwei","sex":"male"}}}jsonArray:[{"name":"xuwei","sex":"male"}]jsonObj4:{"weather":[{"name":"xuwei","sex":"male"}]}
转载于:https://www.cnblogs.com/sharpest/p/5563032.html
1.JSONObject与JSONArray的使用相关推荐
- JSONObject 和 JSONArray 获取value 的方法
JSONObject 和 JSONArray 获取value 值 主要是根据key 值来获取的,使用方法是get() 或者getJSONObject 方法很简单 下面列举几个例子,大家可以参考下代码 ...
- android 读取json数据(遍历JSONObject和JSONArray)
android 读取json数据(遍历JSONObject和JSONArray) public String getJson(){ String jsonString = "{\" ...
- Json-lib使用——JSONObject与JSONArray
1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可 (1)示例一 1 Book book=new ...
- Java学习笔记50:JSONObject与JSONArray的使用
Java不像PHP解析和生产JSON总是一个比较痛苦的过程.但是使用JSONObject和JSONArray会让整个过程相对舒服一些. 需要依赖的包:commons-lang.jar commons- ...
- fastjson 判断是否包含_Fastjson, Gson, org.json.JSON三者对于JSONObject及JSONArray的判断
1.Fastjson 我们通常在已知格式的情况下直接使用JSONObject,JSONArray,但是如果遇到需要判断格式呢? try{ Object object=JSON.parse(a);if ...
- Json格式的解析,JsonObject、JSONArray
1.将json字符串转成json格式 com.alibaba.fastjson.JSONObject object = JSONArray.parseObject(newJson); 2.根据属性获取 ...
- JSONObject 与 JSONArray
转载网址:https://blog.csdn.net/changhenshui1990/article/details/69950663 https://www.cnblogs.com/liduanw ...
- JSON解析之JSONObject与JSONArray的使用
一.应用场景 1.后台的java类,如实体类.List.Set.Map转成json字符串发送到前端或其他项目 2.前端或者其它项目发送过来的json字符串,需要解析成实体类.List.Set.Map等 ...
- JSON的三种解析方式以及JSONObject、JSONArray区别
JSON的常用两种解析方式 一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串 ...
最新文章
- 让Visual Studio 也支持JS代码折叠 [ Visual Studio | #region | #endregion ]
- 面向对象三大特性之一:继承(C++)
- 九十八、轻松搞定Python中的Markdown系列
- 如何配置mysql8.0_安装和配置Mysql8.0
- Java与汽车_Java NIO:IO与NIO的区别
- rmmod: can't change directory to '/lib/modules': No such file or directory问题解决
- finalize方法作用
- mysql 时间 sql_MySQL sql语句获取当前日期|时间|时间戳
- linux自动重启电脑脚本,linux下通过脚本实现自动重启程序的方法
- python场景识别_python 场景
- (转)C++中extern “C”含义深层探索
- copy 和 deepcopy的区别
- heidisql 命令保存blob_git常用命令总结
- 【图像隐写】基于matlab GUI DWT与SVD数字水印 【含Matlab源码 253期】
- (一)appium-desktop定位元素原理
- 批量网刻操作系统(使用GHOST工具)
- 天刀论剑显示服务器,《天涯明月刀ol》服务器维护公告 天下镖和论剑优化
- 电梯监控系统的服务器,电梯安全远程监控系统方案整理
- CHAPTER 11 Syntactic Parsing
- 查看文章影响因子的插件_你的pubmed又不能显示影响因子了,因为 ……
热门文章
- cmake 注意事项
- win10安装spacemacs
- ASP.NET重用代码技术 - 代码绑定技术
- 内存检测工具Dr. Memory的使用
- [Go]在vscode中添加对模板文件tmpl的html语法自动补全的支持
- bat curl 返回值_bat curl 发送http请求 监控网站
- php修改时区MST,4、修改Cacti绘图的时间精度
- vb6调用python识别训练例子_在vb6中创建的“标准”dll在python中调用时会出现访问冲突...
- 打印机扫描后旋转纸张_档案扫描好帮手,富士通ix1500无线双面高速扫描仪评测...
- Java项目:实现个人博客系统(java+springboot+mybatis+redis+vue+elementui+Mysql)