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));
}
}
分享: