在項目之中我們經常會涉及到字符串和各種對象的轉換,為此特地整理了一下常用的轉換方法.
一、基於com.google.code.gson封裝的json轉換工具類
1. 在pom.xml文件裡面引入gson的依賴.
<code> <dependency>
<groupid>com.google.code.gson/<groupid>
<artifactid>gson/<artifactid>
<version>2.8.3/<version>
/<dependency>/<code>
2. 編寫工具類GsonUtil.
<code>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 staticT gsonToBean(String gsonString, Class /<code>cls) {
T t = null;
if (gson != null) {
t = gson.fromJson(gsonString, cls);
}
return t;
}
/**
* json轉成list
*
* @param gsonString
* @param cls
* @return list
*/
public staticList gsonToList(String gsonString, Class cls) {
Listlist = null;
if (gson != null) {
list = gson.fromJson(gsonString, new TypeToken<list>>() {
}.getType());
}
return list;
}
/**
* json轉成list中有map的
*
* @param gsonString
* @return List/<list>
二、基於阿里的fastjson封裝的json轉換工具類
1. 在pom.xml文件裡面引入fastjson的依賴.
<code> <dependency>
<groupid>com.alibaba/<groupid>
<artifactid>fastjson/<artifactid>
<version>1.2.4/<version>
/<dependency> /<code>
2. 編寫工具類FastJsonUtils .
<code>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 staticT getJsonToBean(String jsonData, Class /<code>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
*/
public staticList getJsonToList(String jsonData, Class clazz) {
return JSON.parseArray(jsonData, clazz);
}
/**
* 功能描述:把JSON數據轉換成較為複雜的List>
* @param jsonData JSON數據
* @return List>
*/
public static List> getJsonToListMap(String jsonData) {
return JSON.parseObject(jsonData, new TypeReference<list>>>() {
});
}
}/<list>
以上就是Java.Json轉換工具類(基於google的Gson和阿里的fastjson),希望可以幫助到你,下面展示了部分資料,也希望也能幫助到大家,對編程感興趣想進階的朋友,如果能幫到你請點贊、點贊、點贊:
整理的 pdf 文檔:
源碼分析專題部分課程:
獲取方式
點贊,收藏並轉發文章後點擊小編頭像或暱稱,關注後私信回覆:【11】 即可
舉手之勞,非常感謝!!!
閱讀更多 java架構師小旭 的文章