FastJson使用方法
                 jspet
                 11年前
            
                    package com.commons.utils.json; 
  import com.tencent.stat.common.User; 
  import org.apache.commons.lang.StringUtils; 
  import java.security.Principal; 
  import java.security.acl.Group; 
  import java.util.Enumeration; 
  import java.util.List; 
  import  com.alibaba.fastjson.JSON; 
  import com.alibaba.fastjson.JSONObject; 
  import com.alibaba.fastjson.JSONArray; 
  /** 
   * Created by wei on 2014/8/8. 
   *   JSON帮助类  这个可以做一个实例研究代码,也可以作为一个工具类 去调用。 
   *   FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,Fastjson是一个Java语言编写的高性能功能完善的JSON库。Fastjson支持java bean的直接序列化。 
   *   你可以使用com.alibaba.fastjson.JSON这个类进行序列化和反序列化。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库。 
   FastJson速度最快,fastjson具有极快的性能,超越任其他的Java Json parser。 
   FastJson功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖。 
   Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。 
   使用Fastjson首先在官网下载,然后应用到自己的项目中 
   在需要解析JSON的Response中,需要导入如下四个包。 
   import  com.alibaba.fastjson.JSON; 
   import com.alibaba.fastjson.JSONObject; 
   import com.alibaba.fastjson.JSONArray; 
   import com.alibaba.fastjson.JSONException; 
   一.首先概述一下Fastjson中的经常调用的方法:  避免使用org.apche.json的包。 
   1 public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
   2 public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject 
   3 public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean 
   4 public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
   5 public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
   6 public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
   7 public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
   8 public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。 
   */ 
  public class JSONHelper { 
      //第一部分  javabean转JSON  或者jsonstr 
  /** 
       * 将一个 Object 或者List对象转化为JSONObject或者JSONArray 
       * @param ObjOrList  Object 或者List对象 
       * @return 
       */ 
      public static Object toJSON(Object ObjOrList) 
      { 
          Object obj=null; 
          try { 
              obj=JSON.toJSON(ObjOrList); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return obj; 
      } 
  /** 
       * 将一个 Object 或者List对象转化为JSOObject或者JSONArray 
       * @param ObjOrList  Object 或者List对象 或者hashmap 但是如果是set  就会有问题 
       * @return 
       */ 
      public static String toJSONStr(Object ObjOrList) 
      { 
          String  jsonstr=""; 
          try { 
              jsonstr=JSON.toJSONString(ObjOrList); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return jsonstr; 
      } 
      //第二部分字符串转  obj list 
  /** 
       * 字符串转obj 
       * @param jsonstr 
       * @param clazz 
       * @return 
       */ 
      public static Object parseToObject(String jsonstr,Class<?> clazz) 
      { 
          Object parseObj=null; 
          try { 
              parseObj=JSON.parseObject(jsonstr, clazz); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return parseObj; 
      } 
      /** 
       * 字符串转list 
       * @param jsonstr 
       * @param clazz 
       * @return 
       */ 
      public static List<?> parseToList(String jsonstr,Class<?> clazz) 
      { 
          List<?> parseObj=null; 
          try { 
              parseObj=JSON.parseArray(jsonstr, clazz); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return parseObj; 
      } 
      //第三部分  字符串转JSONObj  或者JSONArray 
      /** 
       * 字符串转jsonobj 
       * @param jsonstr 
       * @return 
       */ 
      public static JSONObject parseToJSONObejct(String jsonstr) 
      { 
          JSONObject parseObj=null; 
          try { 
              parseObj=JSON.parseObject(jsonstr); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return parseObj; 
      } 
      /** 
       * 字符串转list 
       * @param jsonstr 
       * @return 
       */ 
      public static JSONArray parseToJSONArray(String jsonstr) 
      { 
          JSONArray parseObj=null; 
          try { 
              parseObj=JSON.parseArray(jsonstr); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return parseObj; 
      } 
      //第四部分 com.alibaba包下 JSONObj 或者JSONArr 转 javabean或者 java array 
      /** 
       * 
       * @param jsonObj 
       * @param obj 
       * @return 
       */ 
      public static Object parseToObject(JSONObject jsonObj,Class<?> obj) 
      { 
          Object parseObj=null; 
          try { 
              parseObj=JSON.parseObject(jsonObj + "", obj); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return parseObj; 
      } 
      /** 
       * 
       * @param jsonArr 
       * @param obj 
       * @return 
       */ 
      public static List<?> parseToList(JSONArray jsonArr,Class<?> obj) 
      { 
          List list=null; 
          try { 
              list=JSON.parseArray(jsonArr + "", obj); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return list; 
      } 
      //第五部分 将android系统下的JSONObj 或者JSONArr 转 javabean或者 javaarr 
      //第五部分看似没用不过想想特么的 用的人偶尔还是会用到系统的JSON对象  所以决定加下面这两个方法 
      /** 
       * 
       * @param jsonObj  android系统下的JSONObj 
       * @param obj 
       * @return 
       */ 
      public static Object parseToObject(org.json.JSONObject jsonObj,Class<?> obj) 
      { 
          Object parseObj=null; 
          try { 
              parseObj=JSON.parseObject(jsonObj.toString(), obj); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return parseObj; 
      } 
      /** 
       * @param jsonArr  android系统下的JSONArr 
       * @param obj 
       * @return 
       */ 
      public static List<?> parseToList(org.json.JSONArray jsonArr,Class<?> obj) 
      { 
          List list=null; 
          try { 
              list=JSON.parseArray(jsonArr.toString(), obj); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } 
          return list; 
      } 
  }