gson 기반 봉인 json 도구 클래스 JsonUtil

16849 단어 json
gson 기반 봉인 json 도구 클래스 JsonUtil
1:
1: 소개
GSON은 Google에서 자바 대상과 JSON 데이터 사이를 비추는 자바 클래스 라이브러리입니다.Json 문자를 Java 대상으로 바꾸거나 Json 문자열로 바꿀 수 있습니다.
2: 두 가지 기본 개념
Serialization: Json 문자열에 Java 객체를 정렬하는 프로세스입니다.Deserialization: 문자열을 Java 객체로 반전
3: 두 가지 기본 방법
toJson();
fromJson();
4: 두 가지 생성 방법
직접 new 대상 (기본 설정을 직접 사용)
Gson gson = new gson();
GsonBuilder 사용
Gson gson = new GsonBuilder().serializeNulls().create();
Gson의 일반적인 구성
	.excludeFieldsWithoutExposeAnnotation() //     @Expose         
    .enableComplexMapKeySerialization() // Map key      ,       
    .serializeNulls() //       null ,          
    .setDateFormat("yyyy-MM-dd HH:mm:ss:SSS") //         
    .setPrettyPrinting() //        ,    
    .disableHtmlEscaping() //          
    .registerTypeAdapter(User.class,new UserAdapter()) //                   ,   Adapter   JsonSerializer  JsonDeserializer  
    .create();

2: 포장
1. 마벤트 의존 추가
			<dependency>
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>2.8.5</version>
			</dependency>

2. 도구 클래스 jsonUtil 작성
	package com.json.util;
	
	import java.util.List;
	import java.util.Map;
	
	import com.google.gson.Gson;
	import com.google.gson.reflect.TypeToken;
	

	
	/**
	* 
	* @Description:   Gson   jsonUtil
	* @author hbb
	* @date 2019 1 1 
	*
	*/
	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 objectToJson(Object object) {
	       String json = null;
	       if (gson != null) {
	          json = gson.toJson(object);
	       }
	       return json;
	   }
	
	   /**
	    * Json    
	    *
	    * @param json
	    * @param cls
	    * @return   
	    */
	   public static <T> T gsonToBean(String json, Class<T> cls) {
	       T t = null;
	       if (gson != null) {
	           t = gson.fromJson(json, cls);
	       }
	       return t;
	   }
	
	   /**
	    * json  list
	    *
	    * @param json
	    * @param cls
	    * @return list
	    */
	   public static <T> List<T> gsonToList(String json, Class<T> cls) {
	       List<T> list = null;
	       if (gson != null) {
	           list = gson.fromJson(json, new TypeToken<List<T>>() {
	           }.getType());
	       }
	       return list;
	   }
	
	   /**
	    * json  list  map 
	    *
	    * @param json
	    * @return List>
	    */
	   public static <T> List<Map<String, T>> gsonToListMaps(String json) {
	       List<Map<String, T>> list = null;
	       if (gson != null) {
	           list = gson.fromJson(json, new TypeToken<List<Map<String, T>>>() {
	           }.getType());
	       }
	       return list;
	   }
	
	   /**
	    * json  map 
	    *
	    * @param json
	    * @return Map
	    */
	   public static <T> Map<String, T> gsonToMaps(String json) {
	       Map<String, T> map = null;
	       if (gson != null) {
	           map = gson.fromJson(json, new TypeToken<Map<String, T>>() {
	           }.getType());
	       }
	       return map;
	   }
	}
```	
               JSON

좋은 웹페이지 즐겨찾기