JavaJsonUtil公用類

package platform.commons.utils;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import com.google.gson.Gson;

public class JsonUtil
{
  public static List<Map<String, Object>> parseJSON2List(String jsonStr)
  {
    JSONArray jsonArr = JSONArray.fromObject(jsonStr);
    List list = new ArrayList();
    Iterator it = jsonArr.iterator();
    while (it.hasNext()) {
      JSONObject json2 = (JSONObject)it.next();
      list.add(parseJSON2Map(json2.toString()));
    }
    return list;
  }

  public static Map<String, Object> parseJSON2Map(String jsonStr)
  {
    if ((jsonStr == null) || (jsonStr.equals(""))) {
      return null;
    }
    Map map = new HashMap();

    JSONObject json = JSONObject.fromObject(jsonStr);
    for (Iterator localIterator1 = json.keySet().iterator(); localIterator1.hasNext(); ) { Object k = localIterator1.next();
      Object v = json.get(k);

      if ((v instanceof JSONArray)) {
        List list = new ArrayList();
        Iterator it = ((JSONArray)v).iterator();
        while (it.hasNext()) {
          JSONObject json2 = (JSONObject)it.next();
          list.add(parseJSON2Map(json2.toString()));
        }
        map.put(k.toString(), list);
      }
      else {
        if ((v instanceof JSONObject))
          continue;
        map.put(k.toString(), v);
      }
    }

    return map;
  }

  public static List<Map<String, Object>> getListByUrl(String url)
  {
    try
    {
      InputStream in = new URL(url).openStream();
      BufferedReader reader = new BufferedReader(new InputStreamReader(in));
      StringBuilder sb = new StringBuilder();
      String line;
      while ((line = reader.readLine()) != null)
      {
        String line;
        sb.append(line);
      }
      return parseJSON2List(sb.toString());
    } catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }

  public static Map<String, Object> getMapByUrl(String url)
  {
    try
    {
      InputStream in = new URL(url).openStream();
      BufferedReader reader = new BufferedReader(new InputStreamReader(in));
      StringBuilder sb = new StringBuilder();
      String line;
      while ((line = reader.readLine()) != null)
      {
        String line;
        sb.append(line);
      }
      return parseJSON2Map(sb.toString());
    } catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }

 public static String beanToJson(Object object) throws Exception{
		if(object==null)
			return "";
		Gson gson = new Gson();
		String jsonStr = gson.toJson(object);
		return jsonStr;
	}

 public static Object jsonToBean(Type type,String jsonStr) throws Exception{
		Gson gson = new Gson();
		Object bean = gson.fromJson(jsonStr,type);
		return bean;
	}

}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章