注册 X
提交 注:点击提交后系统会发送邮件到邮箱验证!(仅支持中国大陆邮箱)
我已阅读并同意 服务条款
首页 > IT技术笔记 > 查看笔记

使用gson进行json处理工具类,json转换

json处理工具类,引入依赖

        <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->

<dependency>

    <groupId>com.google.code.gson</groupId>

    <artifactId>gson</artifactId>

</dependency>


		        
package com.tool.utils;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;

/**
 * json处理工具类
 * @author www.wouuz.com
 *
 *	<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
	<dependency>
	    <groupId>com.google.code.gson</groupId>
	    <artifactId>gson</artifactId>
	</dependency>
 *
 */
public class GsonUtil {
	
	private static Gson gson = null;
	static {
		if(gson==null) {
			gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
		}
	}
	private GsonUtil() {
		
	}
	
	/**
	 * 将object对象转成json字符串
	 */
	public static String GsonString(Object object) {
		String gsonString = null;
		if(gson!=null) {
			gsonString = gson.toJson(object);
		}
		return gsonString;
	}
	public static String objToString(Object[] object) {
		String rs = "";
		if(object!=null) {
			for (Object obj : object) {
				rs += obj.toString();
			}
		}
		return rs;
	}
	
	/**
	 * 将gsonString转成泛型bean
	 */
	public static <T> T GsonToBean(String gsonString,Class<T> cls) {
		T t = null;
		if(gson!=null) {
			t = gson.fromJson(gsonString, cls);
		}
		return t;
	}
	
	/**
	 * 转成list
	 * 泛型在编译器被擦除导致报错
	 * 
	 */
	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;
	}
	/**
	 * 转成list
	 * 解决泛型问题
	 * 
	 */
	public static <T> List<T> jsonToList(String json,Class<T> cls){
		Gson gson = new Gson();
		List<T> list = new ArrayList<T>();
		JsonArray array = new JsonParser().parse(json).getAsJsonArray();
		for(final JsonElement elem:array) {
			list.add(gson.fromJson(elem, cls));
		}
		return list;
	}
	
	/**
	 * 转成list中有map的
	 * 
	 */
	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;
	}
	
	/**
	 * 转成map
	 */
	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;
	}
}
		      

 打赏        分享



评论

邮箱: 昵称: