import java.util.Map;
import com.google.gson.reflect.TypeToken;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
/**
*
GSON工具类
* @author Wallis Wang
* @version $Id: GsonUtil.java, v 0.1 2014年5月15日 下午5:41:20 wangqiang Exp $
*/
public class GsonUtil {
private static Gson gson = null;
static {
gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
}
/**
* 小写下划线的格式解析JSON字符串到对象
*
例如 is_success->isSuccess
* @param json
* @param classOfT
* @return
*/
public static T fromJsonUnderScoreStyle(String json, Class classOfT) {
return gson.fromJson(json, classOfT);
}
/**
* JSON字符串转为Map
* @param json
* @return
*/
@SuppressWarnings("all")
public static T fronJson2Map(String json) {
return gson.fromJson(json, new TypeToken>() {
}.getType());
}
/**
* 小写下划线的格式将对象转换成JSON字符串
* @param src
* @return
*/
public static String toJson(Object src) {
return gson.toJson(src);
}
}