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就是一串 ...
最新文章
- 说实话,Intellij IDEA 自带的 Vim 插件真心不错!
- 计算机硬盘位显示none,开机找不到硬盘Detecting Primary Master... None
- 企业千人千面管理模式_零售企业该如何打造“千人千面”的差异化营销?
- 读”SQL Injection Pocket Reference”之摘录
- 前端学习(1499):组件特点
- 基于 Tracing 数据的拓扑关系生成原理
- 兰州市中考会考计算机考试,2016兰州中考体育26日开考 采用全套智能测试仪器...
- mysql 索引的简单使用
- dede image.class.php,DEDE模板下载织梦DEDE 核心类TypeLink.class.php功能剖析
- delphixe2 SIZE_T=NativeUInt类型
- php中的解析范围符,PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】...
- Qt富文本编辑器QTextDocument
- 【Java从0到架构师】项目实战 - 驾考(旧)- Freemarker、MyBatis-Plus
- python前端和后端_python是用于前端还是后端开发
- 西威变频器avo下载调试资料_双色图解变频器及软起动器控制线路
- JavaScript零基础入门 11:JavaScript实现图片上传并预览
- 宾馆酒店客房管理系统java源码
- 因果分析:原理、方法论、应用
- DAVIS2016+Matlab+Win10使用指南
- wordpress漏洞工具_WordPress自由职业者,设计师和开发人员的43种顶级工具