使用FastJson 转换成HashMap<String,List
背景需求
有个json串需要转换成Map<String,List
解决方案
因为实际中我们需要的是List而不是JSONArray,如果每个都是自己手动去改变,不太符合程序员的特质.所以想到一个通用办法解决:将JSONArray的值取出来,转换成List再重新塞进Map对象里面,具体实现代码:
1 | private static <T> HashMap<String, List<T>> fromJson2Map(String jsonString) |
在最后T obj = (T)JSONObject.parseObject(jsonObject.toJSONString(), Object.class);
其实我一开始是犹豫的,主要是Object.class,后来想想Java的Object是一切对象的父类,自然可以多态转成子类啊.所以这里就完美的解决了问题. 当然代码应该会有性能问题,应该是new ArrayList() 吧, 每次都会new一个新对象,用完了之后也没有其它的用了,一直等着垃圾回收?.突然觉得自己路还有很长的要走.