JSON的使用

來源:互聯網
上載者:User

標籤:style   blog   color   os   io   使用   java   ar   資料   

最近在項目中大量的使用了JSON, 發現JSON和XML的功能相近,都是一種資料轉送格式。只是與XML相比JSON顯得更加輕量級,使用也更加容易。

JSON依賴的第三方jar包:  

  commons-beanutils.jar
  commons-collection.jar
  commons-lang.jar
  commons-logging.jar
  ezmorph-1.0.6.jar
  json-lib-2.4-jdk15.jar

總結髮現JSON字串與Java對象的相互轉換有以下三種情況:

  (1)Java Bean對象與JSON字串的相互轉換

  (2)Java 數組與JSON字串的相互轉換

  (3)Java List與JSON字串的相互轉換

下面是我寫的一個JSON工具類:

 1 package nuc.wss.util; 2  3 import java.util.List; 4  5 import net.sf.json.JSONArray; 6 import net.sf.json.JSONObject; 7  8 /** 9  * 10  * JsonUtil類的靜態方法封裝了Java對象與JSON字串相互轉換的操作11  */12 public class JsonUtil {13     /**14      * 將JSON字串轉化為Java對象15      * 16      * @param jsonString      JSON字串17      * @param clazz           Java對象對應的class18      * @return                 返回Java對象19      */20     @SuppressWarnings("rawtypes")21     public static Object jsonStringToBean(String jsonString, Class clazz) {22         JSONObject jsonObject = JSONObject.fromObject(jsonString);23         return JSONObject.toBean(jsonObject, clazz);        24     }25     26     /**27      * 將Bean對象轉化為JSON字串28      * 29      * @param object      將被轉化的對象30      * @return             返迴轉化後的JSON字串31      */32     public static String beanToJsonString(Object object) {33         return JSONObject.fromObject(object).toString();34     }35     36     /**37      * 將JSON字串轉化List38      * 39      * @param jsonArrayString  被轉化的JSON字串40      * @param clazz            List的型別參數所對應的類41      * @return                 返回List對象42      */43     @SuppressWarnings("rawtypes")44     public static List jsonArrayStringToList(String jsonArrayString, Class clazz) {45         JSONArray jsonArray = JSONArray.fromObject(jsonArrayString);46         return (List)JSONArray.toCollection(jsonArray, clazz);47     }48     49     /**50      * 將List對象轉化為JSON字串51      * 52      * @param list    將被轉化的List對象53      * @return       返回JSON字串54      */55     @SuppressWarnings("rawtypes")56     public static String listToJsonArrayString(List list) {57         return JSONArray.fromObject(list).toString();58     }59     60     /**61      * 將JSON字串轉化為Java數組62      * 63      * @param jsonArrayString    被轉化的JSON的字串64      * @param clazz              數群組類型對應的類65      * @return                   數組66      */67     @SuppressWarnings("rawtypes")68     public static Object[] jsonArrayStringToArray(String jsonArrayString, Class clazz) {69         JSONArray jsonArray = JSONArray.fromObject(jsonArrayString);70         return (Object[])JSONArray.toArray(jsonArray, clazz);71     }72     73     /**74      * 將Java數組轉化為JSON字串75      * 76      * @param array    被轉化的數組77      * @return        JSON字串78      */79     public static String arrayToJsonArrayString(Object[] array) {80         return JSONArray.fromObject(array).toString();81     }82 }

 

JSON的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.