資源簡介
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
評論
共有 條評論