1.将POJO转换成json
/**
* @param src :将要被转化的对象
* @return :转化后的JSON串
* @MethodName : toJson
* @Description : 将对象转为JSON串,此方法能够满足大部分需求
*/
public static String toJson ( Object src ) {
if ( src == null ) {
return gson.toJson ( JsonNull.class );
}
return gson.toJson ( src );
}
2.将Json转换成Pojo对象
/**
* @param json
* @param classOfT
* @return
* @MethodName : fromJson
* @Description : 用来将JSON串转为对象,但此方法不可用来转带泛型的集合
*/
public static <T> Object fromJson ( String json , Class <T> classOfT ) {
return gson.fromJson ( json , ( java.lang.reflect.Type ) classOfT );
}
/**
* @param json
* @param typeOfT
* @return
* @MethodName : fromJson
* @Description : 用来将JSON串转为对象,此方法可用来转带泛型的集合,如:Type为
* new TypeToken<List<T>>(){}.getType()
* ,其它类也可以用此方法调用,就是将List<T>替换为你想要转成的类
*/
public static Object fromJson ( String json , java.lang.reflect.Type typeOfT ) {
return gson.fromJson ( json , typeOfT );
}
3.获取某个节点的属性值
/**
* @param json json
* @param param 需要获取的节点
* @return 节点value
*/
public static String getParaFromJson ( String json , String param ) {
JsonElement jsonElement = new JsonParser ( ).parse ( json );
String vaule = jsonElement.getAsJsonObject ( ).get ( param ).toString ( );
return vaule;
}
4.获取json的JsonObject
/**
*
* @param json json
* @return json 对象
*/
public static JsonObject getJsonObjectFromJson ( String json ) {
JsonObject jsonObject = new JsonParser ().parse ( json ).getAsJsonObject ();
return jsonObject;
}