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;
	}

}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值