在項目之中咱們常常會涉及到字符串和各類對象的轉換,爲此特意整理了一下經常使用的轉換方法java
1. 在pom.xml文件裏面引入gson的依賴json
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.3</version> </dependency>
2. 編寫工具類GsonUtil工具
package com.json.util; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.util.List; import java.util.Map; /** * * @Description: 基於com.google.code.gson封裝的json轉換工具類 * @author lgs * @date 2018年5月30日 * */ public class GsonUtil { private static Gson gson = null; static { if (gson == null) { gson = new Gson(); } } private GsonUtil() { } /** * 對象轉成json * * @param object * @return json */ public static String gsonString(Object object) { String gsonString = null; if (gson != null) { gsonString = gson.toJson(object); } return gsonString; } /** * Json轉成對象 * * @param gsonString * @param cls * @return 對象 */ public static <T> T gsonToBean(String gsonString, Class<T> cls) { T t = null; if (gson != null) { t = gson.fromJson(gsonString, cls); } return t; } /** * json轉成list<T> * * @param gsonString * @param cls * @return list<T> */ public static <T> List<T> gsonToList(String gsonString, Class<T> cls) { List<T> list = null; if (gson != null) { list = gson.fromJson(gsonString, new TypeToken<List<T>>() { }.getType()); } return list; } /** * json轉成list中有map的 * * @param gsonString * @return List<Map<String, T>> */ public static <T> List<Map<String, T>> gsonToListMaps(String gsonString) { List<Map<String, T>> list = null; if (gson != null) { list = gson.fromJson(gsonString, new TypeToken<List<Map<String, T>>>() { }.getType()); } return list; } /** * json轉成map的 * * @param gsonString * @return Map<String, T> */ public static <T> Map<String, T> gsonToMaps(String gsonString) { Map<String, T> map = null; if (gson != null) { map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() { }.getType()); } return map; } }
1. 在pom.xml文件裏面引入fastjson的依賴google
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.4</version> </dependency>
2. 編寫工具類FastJsonUtils spa
package com.json.util; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; /** * * @Description: 基於fastjson封裝的json轉換工具類 * @author lgs * @date 2018年5月30日 * */ public class FastJsonUtils { /** * 功能描述:把JSON數據轉換成指定的java對象 * @param jsonData JSON數據 * @param clazz 指定的java對象 * @return 指定的java對象 */ public static <T> T getJsonToBean(String jsonData, Class<T> clazz) { return JSON.parseObject(jsonData, clazz); } /** * 功能描述:把java對象轉換成JSON數據 * @param object java對象 * @return JSON數據 */ public static String getBeanToJson(Object object) { return JSON.toJSONString(object); } /** * 功能描述:把JSON數據轉換成指定的java對象列表 * @param jsonData JSON數據 * @param clazz 指定的java對象 * @return List<T> */ public static <T> List<T> getJsonToList(String jsonData, Class<T> clazz) { return JSON.parseArray(jsonData, clazz); } /** * 功能描述:把JSON數據轉換成較爲複雜的List<Map<String, Object>> * @param jsonData JSON數據 * @return List<Map<String, Object>> */ public static List<Map<String, Object>> getJsonToListMap(String jsonData) { return JSON.parseObject(jsonData, new TypeReference<List<Map<String, Object>>>() { }); } }