先说说我遇到的json格式转换问题
JSONObject outMap1 = JSONObject.parseObject(strout);
getChannelPercentLog.info("outMap1"+outMap1.toString());
outMap.put("details", outMap1.get("details"));
这个是通过 JSONObject将一个字符串变成json对象
由于我的这个JSONObject 继承了json对象实现了Map接口
将json对象中的details对象通过键值对的方式存到outMap中
我遇到的问题是怎么从这个outMap中取出details里面的各个对象
解决方案
Object jsonObject = priMap.get("details");
getChannelPercentLog.info("jsonObject"+jsonObject.toString());
String json = JSONObject.toJSONString(jsonObject);
List<ParaMap> parseArray = JSON.parseArray(json, ParaMap.class);
getChannelPercentLog.info("parseArray"+parseArray.toString());
第一步
自然是从map中通过key取出details的value值(这里的重点是这个返回值是Object对象因为这个details里的value又是一个json数据格式只能Object接收)
第二步
通过JSONObject的方法toJSONString将jsonObject变成json格式字符串
第三步
通过JSONObject/JSON(是一样的)的方法parseArray将json字符串变成Map格式的List(这里的重点是parseArray方法的两个参数第一传你要转换的json格式字符串第二个参数就是你要转换json里面对象的存储格式)
第四步
这就简单了遍历list就可以得到map取出details里面的各个对象以及相应的值进行各种数据处理操作