• 大小: 17KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Java
  • 标签:

资源简介

Google json工具类,将java对象装换为json,支持泛型和任意类型

资源截图

代码片段和文件信息

/**
 * Json工具类(很好的支持n层泛型和Date型)
 */
package my.util;

import java.lang.reflect.Type;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Iterator;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;


/**
 * 包含操作 {@code JSON} 数据的常用方法的工具类。
 * 


 * 该工具类使用的 {@code JSON} 转换引擎是  * target=“_blank“>{@code Google Gson}。下面是工具类的使用案例:
 * 


 * 
 * 

 * public class User {
 *     {@literal @SerializedName(“pwd“)}
 *     private String password;
 *     {@literal @Expose}
 *     {@literal @SerializedName(“uname“)}
 *     private String username;
 *     {@literal @Expose}
 *     {@literal @Since(1.1)}
 *     private String gender;
 *     {@literal @Expose}
 *     {@literal @Since(1.0)}
 *     private String sex;
 *     
 *     public User() {}
 *     public User(String username String password String gender) {
 *         // user constructor code... ... ...
 *     }
 *     
 *     public String getUsername()
 *     ... ... ...
 * }
 * 
 * List userList = new linkedList();
 * User jack = new User(“Jack“ “123456“ “Male“);
 * User marry = new User(“Marry“ “888888“ “Female“);
 * userList.add(jack);
 * userList.add(marry);
 * 
 * Type targetType = new TypeToken>(){}.getType();
 * 
 * String sUserList1 = JSONUtils.toJson(userList targetType);
 * sUserList1 ----> [{“uname“:“jack““gender“:“Male““sex“:“Male“}{“uname“:“marry““gender“:“Female““sex“:“Female“}]
 * 
 * String sUserList2 = JSONUtils.toJson(userList targetType false);
 * sUserList2 ----> [{“uname“:“jack““pwd“:“123456““gender“:“Male““sex“:“Male“}{“uname“:“marry““pwd“:“888888““gender“:“Female““sex“:“Female“}]
 * 
 * String sUserList3 = JSONUtils.toJson(userList targetType 1.0d true);
 * sUserList3 ----> [{“uname“:“jack““sex“:“Male“}{“uname“:“marry““sex“:“Female“}]
 * 

 * 
 * @author Fuchun
 * @version 1.0 2009-6-27
 */
public class JsonUtil {

private static final Logger log = LoggerFactory.getLogger(JsonUtil.class);

    /** 空的 {@code JSON} 数据 - “{}“。 */
    public static final String EMPTY_JSON = “{}“;
    
    /** 空的 {@code JSON} 数组(集合)数据 - {@code “[]“}。 */
    public static final String EMPTY_JSON_ARRAY = “[]“;
    
    /** 默认的 {@code JSON} 日期/时间字段的格式化模式。 */
    public static final String DEFAULT_DATE_PATTERN = “yyyy-MM-dd HH:mm:ss“;//“yyyy-MM-dd HH:mm:ss SSS“ 精确到毫秒
    
    /** 默认的 {@code JSON} 是否排除有  {@literal @Expose} 注解的字段。 */
    public static boolean EXCLUDE_FIELDS_WITHOUT_EXPOSE = false; 
    
    /** {@code Google Gson} 的 {@literal @Since} 注解常用的版本号常量 - {@code 1.0}。 */  
    public static final Double SINCE_VERSION_10 = 1.0d;   
     
    /** {@code Google Gson} 的 {@literal @Since} 注解常用的版本号常量 - {@code 

评论

共有 条评论

相关资源