Json转换工具类(基于google的Gson和阿里的fastjson)

Json转换工具类(基于google的Gson和阿里的fastjson)| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission |

| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------|
| 17973382| Json转换工具类(基于google的Gson和阿里的fastjson)| 2024-01-18T20:44:00| | BlogPost|

在项目之中我们经常会涉及到字符串和各种对象的转换,为此特地整理了一下常用的转换方法

一、基于com.google.code.gson封装的json转换工具类

 1. 在pom.xml文件里面引入gson的依赖

        <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 &lt;T&gt; T gsonToBean(String gsonString, Class&lt;T&gt; cls) {
    T t = null;
    if (gson != null) {
        t = gson.fromJson(gsonString, cls);
    }
    return t;
}

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

/**
 * json转成list中有map的
 *
 * @param gsonString
 * @return List&lt;Map&lt;String, T&gt;&gt;
 */
public static &lt;T&gt; List&lt;Map&lt;String, T&gt;&gt; gsonToListMaps(String gsonString) {
    List&lt;Map&lt;String, T&gt;&gt; list = null;
    if (gson != null) {
        list = gson.fromJson(gsonString, new TypeToken&lt;List&lt;Map&lt;String, T&gt;&gt;&gt;() {
        }.getType());
    }
    return list;
}

/**
 * json转成map的
 *
 * @param gsonString
 * @return Map&lt;String, T&gt;
 */
public static &lt;T&gt; Map&lt;String, T&gt; gsonToMaps(String gsonString) {
    Map&lt;String, T&gt; map = null;
    if (gson != null) {
        map = gson.fromJson(gsonString, new TypeToken&lt;Map&lt;String, T&gt;&gt;() {
        }.getType());
    }
    return map;
}

}

复制代码
复制代码

二、基于阿里的fastjson封装的json转换工具类

1. 在pom.xml文件里面引入fastjson的依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.4</version>
        </dependency> 

2. 编写工具类FastJsonUtils 

复制代码
复制代码
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 &lt;T&gt; T getJsonToBean(String jsonData, Class&lt;T&gt; 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&lt;T&gt;
 */
public static &lt;T&gt; List&lt;T&gt; getJsonToList(String jsonData, Class&lt;T&gt; clazz) {
    return JSON.parseArray(jsonData, clazz);
}

/**
 * 功能描述:把JSON数据转换成较为复杂的List&lt;Map&lt;String, Object&gt;&gt;
 * @param jsonData JSON数据
 * @return List&lt;Map&lt;String, Object&gt;&gt;
 */
public static List&lt;Map&lt;String, Object&gt;&gt; getJsonToListMap(String jsonData) {
    return JSON.parseObject(jsonData, new TypeReference&lt;List&lt;Map&lt;String, Object&gt;&gt;&gt;() {
    });
}

}

复制代码
复制代码

 

 
分类: JAVA
 
| 648658| | 2024-01-18T20:44:00| false| | 2024-01-18T20:43:47.823| true| 在项目之中我们经常会涉及到字符串和各种对象的转换,为此特地整理了一下常用的转换方法 一、基于com.google.code.gson封装的json转换工具类 1. 在pom.xml文件里面引入gson的依赖 <dependency> <groupId>com.google.code.gson</gr| Anonymous|
posted @   RalphLauren  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示