资源简介
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
- 上一篇:公交查询系统Java(netbeans)
- 下一篇:利用级数展开式计算cosx
评论
共有 条评论