国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

FastJson生成和解析JSON數(shù)據(jù)

2019-11-10 23:37:46
字體:
供稿:網(wǎng)友

 生成和解析JSON數(shù)據(jù)格式的包有很多種:Gson、json-smart、FastJson、jackjson等,F(xiàn)astJson是一個阿里巴巴的大神開發(fā)的開源的Json處理工具包,包括“序列化”和“反序列化”兩部分,號稱最快。但是我認為沒有最快,只有更快,只要這個功能滿足我的需求,速度不錯就行了,這就是我選擇工具的基本標準(不是特別追求性能...)。

    FastJson功能強大,完全支持java Bean、集合、Map、日期、Enum,支持范型,支持自省;無依賴,能夠直接運行在Java SE 5.0以上版本;支持Android;開源 (Apache 2.0)。

下面簡單說一下FastJson在OOP中的基本使用(非常簡單),以下靜態(tài)方法都是常用的序列化操作,可以用JSON類名直接調(diào)用:

[java] view plain copy PRint?在CODE上查看代碼片public static final Object parse(String text); // 把JSON文本parse為JSONObject或者JSONArray   public static final JSONObject parSEObject(String text); // 把JSON文本parse成JSONObject      public static final  T parseObject(String text, Class clazz); // 把JSON文本parse為JavaBean   public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray   public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合   public static final String toJSONString(Object object); // 將JavaBean序列化為JSON文本   public static final String toJSONString(Object object, boolean prettyFormat); // 將JavaBean序列化為帶格式的JSON文本   public static final Object toJSON(Object javaObject); //將JavaBean轉(zhuǎn)換為JSONObject或者JSONArray。   %20 %20 服務(wù)器端從數(shù)據(jù)庫中獲取到JavaBean(JAVA中的簡單java類,比如Person等)或者JavaBean的集合,用%20JSON.toJSONString()將其轉(zhuǎn)成JSON數(shù)據(jù)格式并傳給客戶端,客戶端的解析就是用到上述的parseObject()方法,第一個參數(shù)是對象,第二個參數(shù)是JavaBean.class,而集合需要用到parseArray()方法,下面是一個工具類,對這些方法進行了封裝,可以直接引用:

[java] view%20plain copy print?派生到我的代碼片import java.util.ArrayList;  import java.util.List;  import java.util.Map;    import com.alibaba.fastjson.JSON;  import com.alibaba.fastjson.TypeReference;    public class FastJsonTools {      /**    * 用fastjson 將json字符串解析為一個 JavaBean    *     * @param jsonString    * @param cls    * @return    */    public static <T> T getBean(String jsonString, Class<T> cls) {      T t = null;      try {        t = JSON.parseObject(jsonString, cls);      } catch (Exception e) {        // TODO: handle exception        e.printStackTrace();      }      return t;    }      /**    * 用fastjson 將json字符串 解析成為一個 List<JavaBean> 及 List<String>    *     * @param jsonString    * @param cls    * @return    */    public static <T> List<T> getBeans(String jsonString, Class<T> cls) {      List<T> list = new ArrayList<T>();      try {        list = JSON.parseArray(jsonString, cls);      } catch (Exception e) {        // TODO: handle exception      }      return list;    }      /**    * 用fastjson 將jsonString 解析成 List<Map<String,Object>>    *     * @param jsonString    * @return    */    public static List<Map<String, Object>> getListMap(String jsonString) {      List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();      try {        // 兩種寫法        // list = JSON.parseObject(jsonString, new        // TypeReference<List<Map<String, Object>>>(){}.getType());          list = JSON.parseObject(jsonString,            new TypeReference<List<Map<String, Object>>>() {            });      } catch (Exception e) {        // TODO: handle exception      }      return list;      }    }  

jar包下載地址:http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.alibaba%22%20AND%20a%3A%22fastjson%22


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 合江县| 库伦旗| 安福县| 黔西县| 上思县| 吴川市| 呼图壁县| 云南省| 钟山县| 光泽县| 宜昌市| 菏泽市| 曲沃县| 武安市| 游戏| 安西县| 堆龙德庆县| 盘锦市| 轮台县| 东光县| 光泽县| 城口县| 宽甸| 柏乡县| 漠河县| 衡阳县| 娱乐| 潍坊市| 东方市| 江安县| 安西县| 弋阳县| 卢龙县| 富蕴县| 双桥区| 宁武县| 永春县| 石嘴山市| 福安市| 江源县| 射阳县|