標籤: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的使用