Java.Json轉換工具類(基於google的Gson和阿里的fastjson)

在項目之中我們經常會涉及到字符串和各種對象的轉換,為此特地整理了一下常用的轉換方法.

Java.Json轉換工具類(基於google的Gson和阿里的fastjson)

一、基於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 static T gsonToBean(String gsonString, Class cls) {
T t = null;
if (gson != null) {
t = gson.fromJson(gsonString, cls);
}
return t;
}

/**
* json轉成list
*
* @param gsonString
* @param cls
* @return list
*/
public static List gsonToList(String gsonString, Class cls) {
List list = null;
if (gson != null) {
list = gson.fromJson(gsonString, new TypeToken<list>>() {
}.getType());

}
return list;
}

/**
* json轉成list中有map的
*
* @param gsonString
* @return List>
*/
public static List> gsonToListMaps(String gsonString) {
List> list = null;
if (gson != null) {
list = gson.fromJson(gsonString, new TypeToken<list>>>() {
}.getType());
}
return list;
}

/**
* json轉成map的
*
* @param gsonString
* @return Map<string>
*/
public static Map<string> gsonToMaps(String gsonString) {
Map<string> map = null;
if (gson != null) {
map = gson.fromJson(gsonString, new TypeToken>() {
}.getType());
}
return map;
}
}
/<string>/<string>
/<string>/<list>
/<list>
/<code>

二、基於阿里的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 static T getJsonToBean(String jsonData, Class 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 static List 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>
/<code>

以上就是Java.Json轉換工具類(基於google的Gson和阿里的fastjson),希望可以幫助到你,下面展示了部分資料,也希望也能幫助到大家,對編程感興趣想進階的朋友,如果能幫到你請點贊、點贊、點贊:

整理的 pdf 文檔:

Java.Json轉換工具類(基於google的Gson和阿里的fastjson)

Java.Json轉換工具類(基於google的Gson和阿里的fastjson)

Java.Json轉換工具類(基於google的Gson和阿里的fastjson)

Java.Json轉換工具類(基於google的Gson和阿里的fastjson)

源碼分析專題部分課程:

Java.Json轉換工具類(基於google的Gson和阿里的fastjson)

Java.Json轉換工具類(基於google的Gson和阿里的fastjson)

獲取方式

點贊,收藏並轉發文章後點擊小編頭像或暱稱,關注後私信回覆:【11】 即可

舉手之勞,非常感謝!!!


分享到:


相關文章: