Json格式数据字符串转List集合和Map集合
2016-01-11 09:52:51 作者:MangoCool 来源:MangoCool
现在的应用、接口之间传输数据越来越多的倾向于使用json格式数据,因为解析速度快,数据资源占用较小。下面则是为了今后方便自己,而记录的一个json格式数据字符串转list集合和map集合的方法。用到时再也不用抽空重写或者找资料。
StringUtils类:
package com.mangocool.util;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
public class StringUtils {
public static List> json2List(String jsonStr)
{
List> jsonList = new ArrayList>();
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
HashMap hashMap = new HashMap();
JsonConfig jc = new JsonConfig();
jc.setClassMap(hashMap);
jc.setRootClass(Map.class);
jc.setArrayMode(JsonConfig.MODE_LIST);
Collection> collection = JSONArray.toCollection(jsonArray, jc);
if(collection instanceof List)
{
jsonList = (List>)collection;
}
return jsonList;
}
public static Map json2Map(String jsonStr)
{
JSONObject jsonMap = JSONObject.fromObject(jsonStr);
if(jsonMap instanceof Map)
{
return jsonMap;
}
return new HashMap();
}
public static void main(String[] args) {
String jsonStr = "[{\"id\":\"101\",\"name\":\"zhangsan\"},{\"id\":\"102\",\"name\":\"lisi\"}]";
System.out.println(json2List(jsonStr));
jsonStr = "{\"id\":\"103\",\"name\":\"wangwu\",\"age\":\"36\"}";
System.out.println(json2Map(jsonStr));
}
}
分享: