JSONObject 与 JSONArray
转载网址:https://blog.csdn.net/changhenshui1990/article/details/69950663
http://www.jb51.net/article/85785.htm
类似: {"userid":"1001","success":true,''result'':[{"name":"张三"},{"age":"20"}]}
{"userid":"1001","success":true,''result'':[{"name":"张三"},{"age":"20"}]},
{"userid":"1001","success":true,''result'':[{"name":"张三"},{"age":"20"}]},
{"userid":"1001","success":true,''result'':[{"name":"张三"},{"age":"20"}]}
]
由JSON数组的格式可发现,类似于List<Map<String,Object>>对象,可以说jsonArray对象就是特殊的listMap对象。
JSONObject json = new JSONObject();
JSONArray jsonArray = new JSONArray();
json.put("key1", "value1");//JSONObject 对象中添加键值对
json.put("key2", "value2");//JSONObject 对象中添加键值对
jsonArray.add(json);// 将 JSONObject 对象添加到 Json 数组中
System.out.println(jsonArray);//[{"key1":"value1","key2":"value2"}]
4 .遍历JsonArray
String jsonStr = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'}]";
// 首次把字符串转成 JSONArray 对象
JSONArray json = JSONArray.fromObject(jsonStr);
if (json.size() > 0) {
for (int i = 0; i < json.size(); i++) {
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
JSONObject job = json.getJSONObject(i);
System.out.println(job);
// 得到每个对象中的属性值
System.out.println("name:"+job.get("name")+" ,value:"+job.get("value"));
}
}
JSONObject json = new JSONObject();JSONArray jsonArray = new JSONArray();json.put("key1", "value1");//JSONObject 对象中添加键值对json.put("key2", "value2");//JSONObject 对象中添加键值对Iterator it = json.keys();while (it.hasNext()) {String key = (String) it.next();String value = json.getString(key);System.out.println(value);//value1 value2
6.思考:[{name1:{name2:{name3:'value1',name4:'value2'}}},{}] 如何取出 name4 的值?
1,将以上字符串转换为JSONArray对象;
示例中json数组格式的字符串可以通过方法直接转换为JSONArray的格式:
JSONArray.fromObject(String)
- JSONArray getJsonArray=JSONArray.fromObject(arrayStr);//将结果转换成JSONArray对象的形式
- JSONObject getJsonObj = getJsonArray.getJSONObject(0);//获取json数组中的第一项
- String result=(String)getJsonObj.getJSONObject("name1").getJSONObject("name2").get("name4");
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;public class Test {// 创建 JSONObject 对象private static JSONObject createJSONObject(){JSONObject json = new JSONObject();json.put("username", "粉红猪小妹");//JSONObject 对象中添加键值对json.put("sex", "女");//JSONObject 对象中添加键值对json.put("QQ", "528528");json.put("nickName", "小猪佩奇");return json;}public static void main(String[] args) {// 静态方法,直接通过类名+方法调用JSONObject jsonObject = Test.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:"+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 后面加一个 jsonArrayJSONArray array = jsonObject.getJSONArray("jsonArray");System.out.println(jsonObject);System.out.println("返回一个 JSONArray 对象:"+array);// 添加 jsonArray 后的值System.out.println("结果 = "+jsonObject);// 根据 key 返回一个字符串String username = jsonObject.getString("username");System.out.println("username ==> "+username);// 把字符串转换为 JSONObjectString temp = jsonObject.toString();JSONObject object = JSONObject.fromObject(temp);// 转换后根据key返回值System.out.println("qq = "+object.get("QQ"));}
}
是否为数组:false,是否为空:false,isNullObject:false
添加属性后的对象 jsonObject:{"username":"粉红猪小妹","sex":"女","QQ":"528528","nickName":"小猪佩奇","address":"阿里"}
{"username":"粉红猪小妹","sex":"女","QQ":"528528","nickName":"小猪佩奇","address":"阿里","jsonArray":["this is a jsonArray value","another jsonArray value"]}
返回一个 JSONArray 对象:["this is a jsonArray value","another jsonArray value"]
结果 = {"username":"粉红猪小妹","sex":"女","QQ":"528528","nickName":"小猪佩奇","address":"阿里","jsonArray":["this is a jsonArray value","another jsonArray value"]}
username ==> 粉红猪小妹
qq = 528528
JSONObject 与 JSONArray相关推荐
- JSONObject 和 JSONArray 获取value 的方法
JSONObject 和 JSONArray 获取value 值 主要是根据key 值来获取的,使用方法是get() 或者getJSONObject 方法很简单 下面列举几个例子,大家可以参考下代码 ...
- 1.JSONObject与JSONArray的使用
参考文献: http://blog.csdn.net/huangwuyi/article/details/5412500 1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib ...
- 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.根据属性获取 ...
- JSON解析之JSONObject与JSONArray的使用
一.应用场景 1.后台的java类,如实体类.List.Set.Map转成json字符串发送到前端或其他项目 2.前端或者其它项目发送过来的json字符串,需要解析成实体类.List.Set.Map等 ...
- JSON的三种解析方式以及JSONObject、JSONArray区别
JSON的常用两种解析方式 一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串 ...
最新文章
- favicon自动获取_友情链接前面自动获取并添加favicon.ico小图标
- Java代码判断数据库中某张表是否存在
- 表格列mouse经过时高亮显示
- ASP.NET Core MVC Tag Helpers 介绍
- python rsa加密二进制文件_用Python中的RSA加密文件
- caffe各种依赖包配置
- matlab中的terminator模块,2.2 Ground 及 Terminator模块
- [Android-Appium]: 安卓自动化测试: 环境准备
- 错误:在keystone中无法找到默认角色user_Kubernetes RBAC角色权限控制
- java_web学习(六) request对象中的get和post差异
- 01 按指定格式读写文件出现乱码
- 蓝桥杯第八届省赛本科B组C/C++第九题 分巧克力
- 最大连续区间和算法详解+代码
- C# 自定义网格 dataGridView 禁止编辑 + 禁止自动生成新列 + 禁止生成新行 + 禁止删除行 + 禁止多选 + 禁止行选中 + 禁止改变列宽度 行高度
- sigmoid 激励函数
- 献给2012——易水寒的心声
- Python OpenCV _1基本操作(画图,循环播放图像,鼠标事件,读取中文路径中的图片)
- VR广告:通过“虚拟房间”广告在VR中体验Lionsgate的JIGSAW
- 在沟通管理中,如何给予有效的反馈意见? | 每天成就更大成功
- 中鑫优配股票配资平台的保障
热门文章
- 关于BufferedReader的read()及readLine()
- Uber 要给乘客打分,评分低车费高!《黑镜》社交评分一语成谶
- 《Multiple UAV exploration of an unknown region》翻译
- pwnable.krToddlr’s Bottle题解3
- qq 飞信中无法切换输入法
- Centos7 rpm命令大全
- 站长说说之SEO优化诊断 如何更好做关键词排名优化
- LeetCode练习题C#源码
- Benewake(北醒) 短距 TF-Luna 8m介绍以及资料整理
- java 微秒 时间_Java中的当前时间(以微秒为单位)