java解析复杂json:JSONObject 和 JSONArray的使用
在正式解析之前,我们需要下载解析Json所需要的jar包,一共有7个。
下载地址如下:https://download.csdn.net/download/zai_xia/10374080
大家也可以自行找资源下载。
然后将这些Jar包 Build Path 进项目就好了。
特别注意:commons-collections这个jar包要用3.x版本的,不能用4.x版本;commons-lang这个jar包要用2.x版本的,不能用3.x版本的。
我们的目的是解析下面这样的json内容:
{
"data":{
"items":[
{
"itemstring":"手机",
"itemcoord":{"x":0,"y":100,"width":40,"height":20},
}
],
"session_id":"",
},
"code":0,
"message":"OK"
}
代码如下:
package format;
import net.sf.json.*;
public class ResolveJson {
public static void main(String[] args) {
String json = "{\"data\":{\"items\":[{\"itemstring\":\"手机\",\"itemcoord\":{\"x\":0,\"y\":100,\"width\":40,\"height\":20},}],\"session_id\":\"\",},\"code\":0,\"message\":\"OK\"}";
JSONObject jsonObject = JSONObject.fromObject(json);
JSONObject data = jsonObject.getJSONObject("data");
JSONArray items = jsonObject.getJSONObject("data").getJSONArray("items");
JSONObject row = null;
for(int i=0; i<items.size(); i++){
row = items.getJSONObject(i);
System.out.println("itemstring :" + row.get("itemstring"));
JSONObject itemcoord = row.getJSONObject("itemcoord");
System.out.println("x:" + itemcoord.get("x"));
System.out.println("y:" + itemcoord.get("y"));
System.out.println("width:" + itemcoord.get("width"));
System.out.println("height:" + itemcoord.get("height"));
}
System.out.println("session_id:" + data.get("session_id"));
System.out.println("code:" + jsonObject.get("code"));
System.out.println("code:" + jsonObject.get("message"));
}
}
运行结果:
其实解析过程就是将json看情况转换成JSONObject对象或JSONArray数组,再进行下一步处理,最终得到目的值。
java解析复杂json:JSONObject 和 JSONArray的使用的更多相关文章
- java中转换json方式(JSONArray,JSONObject),json解析
package com.yunos.tv.video.resource.controller.web; import java.util.ArrayList; import java.util.Has ...
- net.sf.json JSONObject与JSONArray使用实例
实例自己想的一个实例应用场景:一个人可以有多个角色,例如:在家中是儿子,在学校是学生,在公司是程序员,一个人还可以办好多业务 * 每个业务好多个人都可以办,则标记(mark)就是记录这唯一标识的(如i ...
- Java解析复杂JSON数据的一种方法
1.需解析JSON数据: { "code": 0, "message": "success", "sid": " ...
- 【转】java 解析多层json
java分别解析下面两个json字符串 package jansonDemo; import com.alibaba.fastjson.JSON; import com.alibaba.fastjso ...
- JAVA中json对象转JAVA对象,JSON数组(JSONArray)转集合(List)
json格式 {userId:'1',message:'2',create_time:'2020-03-28 20:58:11',create_date:'2020-03-28'}JAVA对象 Cha ...
- net.sf.json JSONObject与JSONArray总结
JSONObject:json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} JSONArray:json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式 ...
- JSONObject与JSONArray
最近在学习过程中用到了稍微复杂点的json数据需要将json数据解析出来,这里就截取一部分作为例子 1.JSONObject介绍 JSONObject-lib包是一个beans,collections ...
- JSON-lib框架,JAVA对象与JSON、XML之间的相互转换
Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象. 一. 准备工作 ...
- java 字符串解析为json 使用org.json包的JSONObject+JSONArray
参考: https://blog.csdn.net/xingfei_work/article/details/76572550 java中四种json解析方式 JSONObject+JSONArray ...
随机推荐
- POJ 2895
#include <iostream> #include <string> #define MAXN 27 using namespace std; short map[MAX ...
- 比较List和ArrayList的性能及ArrayList和LinkedList优缺点
List和ArrayList的性能比较 在使用ArrayList这样的非泛型集合的过程中,要进行装箱和拆箱操作,会有比较大的性能损失,而使用泛型集合就没有这样的问题.List是泛型,而ArrayLis ...
- jenkins配置邮件 -- com.sun.mail.smtp.SMTPSenderFailedException: 550 5.7.1 Client does not have permissions to send as this sender
jenkins配置邮件设置 发送邮件测试时,报错: com.sun.mail.smtp.SMTPSenderFailedException: Client does not have permissi ...
- Python:使用基于事件驱动的SAX解析XML
SAX的特点: 是基于事件的 API 在一个比 DOM 低的级别上操作 为您提供比 DOM 更多的控制 几乎总是比 DOM 更有效率 但不幸的是,需要比 DOM 更多的工作 基于对象和基于事件的接口 ...
- java实现网页结构分析列表发现
现在的网站千奇百怪,什么样格式的都有,需要提取网页中的列表数据,有时候挨个分析处理很头疼,本文是一个页面结构分析的程序,可以分析处理页面大致列表结构. 废话不多说,我也不会说,show me code ...
- 从零开始学 Web 之 jQuery(五)操作元素其他属性,为元素绑定事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- kali linux安装中文输入法
1.先安装VMware虚拟机,再安装kali linux ------------------------------------------------------------------ 2.安装 ...
- m2eclipse(maven插件)报错解决
在eclipse中安装了m2eclipse(maven插件) 的问题结解决 在安装后,出现下列警告: The Maven Integration requires that Eclipse be ru ...
- 教你控制 RecyclerView 滑动的节奏
最近,PM升级改版落地页,其中有一个很奇怪的交互需求,需求是这样的: 用户在该页面可以上下无限滑动,但是,在上拉滑动过程中,当内容切换为另一个内容的时候,新的内容先吸顶,然后停止滑动,让用户知道他已经 ...
- MySQL优化(1)--------常用的优化步骤
在开始博客之前,还是同样的给一个大概的目录结构,实则即为一般MySQL的优化步骤 1.查看SQL的执行频率---------------使用show status命令 2.定位哪些需要优化的SQL-- ...