json工具類:object與json的相互轉換, listjson的相互轉換
阿新 • • 發佈:2019-01-01
json工具類:object與json的相互轉換, listjson的相互轉換
t新增pom.xml的依賴
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.5</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.4</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency>
MyJsonUtil.java
import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; import com.atguigu.bean.T_MALL_SHOPPINGCAR; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import net.sf.json.JSONArray; public class MyJsonUtil { public static <T> String object_to_json(T t) { Gson gson = new Gson(); String json = gson.toJson(t); try { json = URLEncoder.encode(json, "utf-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return json; } public static <T> T json_to_object(String json, Class<T> t) { try { json = URLDecoder.decode(json, "utf-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } Gson gson = new Gson(); T fromJson = gson.fromJson(json, t); return fromJson; } public static <T> List<T> json_to_list(String json, Class<T> t) { String decode = ""; if (StringUtils.isBlank(json)) { return null; } else { try { decode = URLDecoder.decode(json, "utf-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } JSONArray fromObject2 = JSONArray.fromObject(decode); List<T> list_array = (List<T>) JSONArray.toCollection(fromObject2, t); return list_array; } } public static <T> String list_to_json(List<T> list) { Gson gson = new Gson(); String json = gson.toJson(list); try { json = URLEncoder.encode(json, "utf-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return json; } }