ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java解析复杂json:JSONObject 和 JSONArray的使用

2020-09-13 14:01:08  阅读:218  来源: 互联网

标签:jsonObject java JSONArray JSONObject jar json items data


在正式解析之前,我们需要下载解析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"));
	}
}

运行结果:

标签:jsonObject,java,JSONArray,JSONObject,jar,json,items,data
来源: https://www.cnblogs.com/zgq123456/p/13661192.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有