Java解析Jason报文 统统放到map里面去

提供源码。可解析Jason报文中有字段中内容为单组和多组共同存在的情况。


 public static Map getMapFromJsObject(String pString)
			    throws Exception
 {
		Map<String, Object> reMap = new HashMap<String, Object>();
		JSONObject jObject;
		Iterator<?> i;
		List<Map> reList = new ArrayList<Map>();
		if (StringUtils.isNotBlank(pString)) {
			if (!JSONUtils.mayBeJSON(pString)) {
				String msg = AppframeLocaleFactory
						.getResource("com.ai.appframe2.web.json.format_error");
				throw new Exception(msg);
			}
			jObject = JSONObject.fromString(pString);
			if ((!jObject.isNullObject()) && (!jObject.isEmpty())) {
				for (i = jObject.keys(); i.hasNext();) {
					String key = (String) i.next();
					if (JSONUtils.isArray(jObject.get(key))) {
						JSONArray jArray = (JSONArray) jObject.get(key);
						for (int j = 0; j < jArray.length(); j++) {
							if (JSONUtils.isObject(jArray.get(j))) {
								reList.add(getMapFromJsObject(((JSONObject) jArray.get(j)).toString()));
							} else {
								reList.add((Map) jArray.get(j));
							}
						}
						reMap.put(key, reList);
					} else if (JSONUtils.isObject(jObject.get(key))) {
						reMap.put(key, getMapFromJsObject(((JSONObject) jObject
								.get(key)).toString()));
					} else {
						reMap.put(key, jObject.get(key));
					}

				}

			}

		}

		return reMap;
	}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java获取Jason明细数据的方法有很多。其中,最常用的方法是使用第三方库,如JSON.org、Jackson、Gson等。 JSON.org是一种Java语言实现的JSON处理器,它支持JSON解析、生成和转换。JSON.org代码简洁,易于使用,并且具有良好的性能。使用JSON.org,可以使用下面的代码来获取JSON数据: JSONObject obj = new JSONObject(jsonString); //将json串转化为JSONObject对象 String name = obj.getString("name"); //获取name字段 int age = obj.getInt("age"); //获取age字段 Jackson是一个高效的Java JSON处理框架,它提供了多种API来解析、生成和转换JSON数据。使用Jackson,可以使用下面的代码来获取JSON数据: ObjectMapper mapper = new ObjectMapper(); JsonNode node = mapper.readTree(jsonString); //将json串转化为JsonNode对象 String name = node.get("name").asText(); //获取name字段 int age = node.get("age").asInt(); //获取age字段 Gson是一个基于JavaJSON处理库,它使用Java对象模型来表示JSON数据,同时提供JSON的序列化和反序列化功能。使用Gson,可以使用下面的代码来获取JSON数据: Gson gson = new Gson(); User user = gson.fromJson(jsonString, User.class); //将json串转化为User对象 String name = user.getName(); //获取name字段 int age = user.getAge(); //获取age字段 总之,在Java中获取JSON数据非常容易,只需要选择一个合适的库并使用相应的API即可。无论是JSON.org、Jackson,还是Gson,都提供了简单易用的API来解析、生成和转换JSON数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值