Json转map:json内容按相同公司编码重新整理

private JSONArray JsonAction(JSONObject json) throws BusinessException {
		JSONArray newdatas = new JSONArray();

		if (!json.containsKey("data")) {
			return null;
		}
		JSONObject data = json.getJSONObject("data");
		JSONObject newdata = null;
		JSONObject datakey = null;
		//获得表体
		Object data1 = data.get("asset");
		JSONArray assets = new JSONArray();
		if (data1 instanceof JSONArray) {
			assets = (JSONArray) data1;
		} else {
			assets.add((JSONObject) data1);
		}
		JSONArray newassets = null;
		JSONObject asset = null;
		//用来占时存放jsonArray,防止重复
		Map<String, JSONArray> map = new HashMap<String, JSONArray>();
		String code = null;
		for (int i = 0; i < assets.size(); i++) {
			//jsonAarry转jsonObject
			asset = assets.getJSONObject(i);
			code = asset.getString("nc_organ_code");
			if (StringUtils.isEmpty(code)) {
				throw new BusinessException("公司编码不能为空");
			}
			newassets = map.get(code);
			if (newassets == null) {
				newassets = new JSONArray();
			}
			//把jsonObject存入jsonArray中
			newassets.add(asset);
			map.put(code, newassets);
		}
		//循环map,取出value
		for (JSONArray array : map.values()) {
			newdata = new JSONObject();
			datakey = new JSONObject();
			//把jsonArray存入jsonObject
			newdata.put("asset", array);
			datakey.put("data", newdata);
			newdatas.add(datakey);
		}
		return newdatas;

	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值