package demo;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.ttpod.common.model.Music;
/**
* @className:GsonUtil.java
* @classDescription: gson工具类
* @author:qiuchen
* @createTime:2012-9-24
*/
public class GsonUtil {
/**
* 时间格式
*/
public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* 创建GSON
* @author:qiuchen
* @createTime:2012-9-24
* @return
*/
public static Gson getGson(){
return new GsonBuilder().serializeNulls().setDateFormat(DATE_FORMAT).create();
}
/**
* 将对象转化为字符串
* @author:qiuchen
* @createTime:2012-9-24
* @param obj
* @return
*/
public String Object2Json2(Object obj){
return getGson().toJson(obj);
}
/**
* 将对象转化为字符串(泛型实现)
* @author:qiuchen
* @createTime:2012-9-24
* @param obj
* @return
*/
public static <T> String t2Json2(T t){
return getGson().toJson(t);
}
/**
* 将字符转化为对象
* @author:qiuchen
* @createTime:2012-9-24
* @param <T>
* @param jsonString
* @param clazz
* @return
*/
public static <T> T json2T(String jsonString , Class<T> clazz){
return getGson().fromJson(jsonString,clazz);
}
/**
* 将字符串数组转化为对象集合
* @author:qiuchen
* @createTime:2012-9-24
* @param <T>
* @param jsonStr
* @param type
* @return
*/
public static <T> List<T> json2Collection(String jsonStr,Type type){
return getGson().fromJson(jsonStr,type);
}
public static void main(String[] args){
//初始化一个Music对象
Music music = new Music();
music.setId(1);
music.setNeid(12322);
music.setSinger("刘德华");
music.setSong("冰雨");
music.setDownUrl("www.baidu.com");
//将music对象转化为字符串
String jsonStr = GsonUtil.t2Json2(music);
System.out.println(jsonStr);
//将json字符串转化为对象
Music m = GsonUtil.json2T(jsonStr,Music.class);
System.out.println(m.getDownUrl());
System.out.println(m.getSinger());
//对象集合
List<Music> musics = new ArrayList<Music>();
musics.add(music);
musics.add(music);
musics.add(music);
//将集合转化为字符串
String jsonStrs = GsonUtil.t2Json2(musics);
System.out.println(jsonStrs);
//将字符串转化为对象集合
List<Music> musicList = GsonUtil.json2Collection(jsonStrs,new TypeToken<List<Music>>(){}.getType());
for(Music mc : musicList){
System.out.println(mc.getSinger());
System.out.println(mc.getSong());
}
}
}
分享到:
相关推荐
gsonUtil gson工具类。 已实现 1.json 转对象 2.json 转list 对象 3. 对象转json 等
Android Gson 解析工具类。
包含了gson-2.24和gson-2.85两个版本,以及单独使用所依赖的其他jar包,(log4j,slf4j,slf4j-api) , 附带了 json转bean, bean转成json字符串的各种方法. 内直接由GsonUtil.java 类 可直接使用.
"使用Volley手机归属地查询"这个项目就是针对这一需求的一个实践案例,它结合了Volley网络库、GsonUtil工具类以及聚合数据(JUHE)的API来实现。 首先,Volley是Google推出的一款高效的网络请求库,它以其轻量级、...
在Android中,我们通常会创建一个工具类来封装这些转换操作,例如名为`GsonUtil`的类。 以下是一个简单的`GsonUtil`类实现,包含两个主要方法:`jsonToObject`和`objectToJson`。 ```java import ...
本篇将详细介绍如何使用两个Java工具类,`JackSonUtil` 和 `GsonUtil`,将Map和List对象转换为JSON字符串。 首先,`JackSonUtil` 是基于Jackson库的一个工具类,Jackson是Java中最流行的JSON处理库之一,提供了高效...
【Gson解析JSON数据】 Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它可以将任何Java对象转换为它的JSON表示形式,反之亦然。在处理JSON数据时,我们经常遇到两种常见的数据结构:...
在本案例中,"Gson实用Jar和dome"提供了一个Gson的jar包(gson-1.7.2.jar)以及一个名为GsonUtil的工具集(GsonUtil.zip),便于用户快速理解和应用Gson库。 1. Gson的核心功能: - **序列化**:将Java对象转换为...
这里提到的"文件处理与图片处理工具类"包括Base64Util、FileUtil、GsonUtil和HttpUtil这四个关键工具,它们分别对应了数据编码、文件操作、JSON解析和网络请求的基本功能。 首先,Base64Util是一个用于Base64编码和...
接下来,我们来创建一个名为`GsonUtil`的工具类,该类主要包含两个核心方法:`fromJson()`和`toJson()`。`fromJson()`用于将JSON字符串转换为Java对象,`toJson()`则用于将Java对象转换为JSON字符串。 ```java ...
GsonUtil基于Gson库,实现了Java对象与JSON字符串之间的相互转换,简化了数据序列化和反序列化的步骤。 7. **DateUtils**: 日期时间处理工具类 DateUtils提供了一系列处理日期和时间的方法,如格式化、比较、计算...
MyModel model = GsonUtil.fromJson(responseBody, MyModel.class); // 业务逻辑处理 } } ``` 2. **传入泛型JavaBean的Callback封装** 这种方式适用于数据格式固定,可以直接映射到JavaBean的情况。创建一个...
6. **GsonUtil**: Gson是Google提供的JSON解析库,GsonUtil则进一步简化了JSON对象与Java对象之间的转换,使数据交换更高效。 7. **NetworkUtil**: 网络检测是Android应用不可或缺的一部分。NetworkUtil类可以检查...
GsonUtil是基于Google的Gson库,它能将Java对象转换为JSON字符串,或者从JSON字符串反序列化为Java对象,极大地提高了数据交换的便利性。 FaceUtil可能涉及到面部识别或图像处理,这在当今的移动应用中,尤其是在...
- **序列化反序列化**:如`GsonUtil`,使用Gson库将对象转换为JSON字符串,反之亦然。 使用这些工具类时,开发者需要根据项目需求选择适用的类,注意它们的使用条件和限制。对于不可用或有误的代码,需要进行调试和...
public class GsonUtil { public static <T> T jsonToObject(String jsonString, Class<T> clazz) { Gson gson = new Gson(); return gson.fromJson(jsonString, clazz); } } ``` 在这里,我们只需要提供JSON...
此外,也可以包含处理JSON数据的工具类,如GsonUtil,用于将JSON字符串转换为Java对象。 在实际开发中,你还需要考虑错误处理,如网络不可用、超时、服务器错误等,通常通过try-catch语句捕获异常并提供合适的反馈...
7. **最佳实践**:为了提高代码可读性和维护性,可以创建一个GsonUtil工具类,封装序列化和反序列化的操作,这样在项目中可以方便地复用。 总之,Gson在Android开发中的应用主要是简化了JSON数据的处理,使得在登录...