`

GsonUtil

    博客分类:
  • Json
阅读更多

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工具类。

    gsonUtil gson工具类。 已实现 1.json 转对象 2.json 转list 对象 3. 对象转json 等

    GsonUtil.java

    Android Gson 解析工具类。

    gson的jar包以及附带工具Utils类可直接使用

    包含了gson-2.24和gson-2.85两个版本,以及单独使用所依赖的其他jar包,(log4j,slf4j,slf4j-api) , 附带了 json转bean, bean转成json字符串的各种方法. 内直接由GsonUtil.java 类 可直接使用.

    使用Volley手机归属地查询

    "使用Volley手机归属地查询"这个项目就是针对这一需求的一个实践案例,它结合了Volley网络库、GsonUtil工具类以及聚合数据(JUHE)的API来实现。 首先,Volley是Google推出的一款高效的网络请求库,它以其轻量级、...

    安卓 JSON实现对象和数组的相互转换

    在Android中,我们通常会创建一个工具类来封装这些转换操作,例如名为`GsonUtil`的类。 以下是一个简单的`GsonUtil`类实现,包含两个主要方法:`jsonToObject`和`objectToJson`。 ```java import ...

    map,list转成json的工具类

    本篇将详细介绍如何使用两个Java工具类,`JackSonUtil` 和 `GsonUtil`,将Map和List对象转换为JSON字符串。 首先,`JackSonUtil` 是基于Jackson库的一个工具类,Jackson是Java中最流行的JSON处理库之一,提供了高效...

    Gson解析(List和Map)格式json数据 - CSDN博客1

    【Gson解析JSON数据】 Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它可以将任何Java对象转换为它的JSON表示形式,反之亦然。在处理JSON数据时,我们经常遇到两种常见的数据结构:...

    Gson实用Jar和dome

    在本案例中,"Gson实用Jar和dome"提供了一个Gson的jar包(gson-1.7.2.jar)以及一个名为GsonUtil的工具集(GsonUtil.zip),便于用户快速理解和应用Gson库。 1. Gson的核心功能: - **序列化**:将Java对象转换为...

    文件处理与图片处理工具类

    这里提到的"文件处理与图片处理工具类"包括Base64Util、FileUtil、GsonUtil和HttpUtil这四个关键工具,它们分别对应了数据编码、文件操作、JSON解析和网络请求的基本功能。 首先,Base64Util是一个用于Base64编码和...

    gson解析工具类封装

    接下来,我们来创建一个名为`GsonUtil`的工具类,该类主要包含两个核心方法:`fromJson()`和`toJson()`。`fromJson()`用于将JSON字符串转换为Java对象,`toJson()`则用于将Java对象转换为JSON字符串。 ```java ...

    Android快速开发不可或缺的11个工具类

    GsonUtil基于Gson库,实现了Java对象与JSON字符串之间的相互转换,简化了数据序列化和反序列化的步骤。 7. **DateUtils**: 日期时间处理工具类 DateUtils提供了一系列处理日期和时间的方法,如格式化、比较、计算...

    okhttp的两种callback封装

    MyModel model = GsonUtil.fromJson(responseBody, MyModel.class); // 业务逻辑处理 } } ``` 2. **传入泛型JavaBean的Callback封装** 这种方式适用于数据格式固定,可以直接映射到JavaBean的情况。创建一个...

    Android快速开发不可或缺的辅助类

    6. **GsonUtil**: Gson是Google提供的JSON解析库,GsonUtil则进一步简化了JSON对象与Java对象之间的转换,使数据交换更高效。 7. **NetworkUtil**: 网络检测是Android应用不可或缺的一部分。NetworkUtil类可以检查...

    框架及基类

    GsonUtil是基于Google的Gson库,它能将Java对象转换为JSON字符串,或者从JSON字符串反序列化为Java对象,极大地提高了数据交换的便利性。 FaceUtil可能涉及到面部识别或图像处理,这在当今的移动应用中,尤其是在...

    安卓开发框架工具类相关-Android开发的通用工具类.zip

    - **序列化反序列化**:如`GsonUtil`,使用Gson库将对象转换为JSON字符串,反之亦然。 使用这些工具类时,开发者需要根据项目需求选择适用的类,注意它们的使用条件和限制。对于不可用或有误的代码,需要进行调试和...

    拷贝JSON对象值进Java Bean对象

    public class GsonUtil { public static &lt;T&gt; T jsonToObject(String jsonString, Class&lt;T&gt; clazz) { Gson gson = new Gson(); return gson.fromJson(jsonString, clazz); } } ``` 在这里,我们只需要提供JSON...

    Android客户端抓取网络数据

    此外,也可以包含处理JSON数据的工具类,如GsonUtil,用于将JSON字符串转换为Java对象。 在实际开发中,你还需要考虑错误处理,如网络不可用、超时、服务器错误等,通常通过try-catch语句捕获异常并提供合适的反馈...

    Android中gson使用登陆注册功能

    7. **最佳实践**:为了提高代码可读性和维护性,可以创建一个GsonUtil工具类,封装序列化和反序列化的操作,这样在项目中可以方便地复用。 总之,Gson在Android开发中的应用主要是简化了JSON数据的处理,使得在登录...

Global site tag (gtag.js) - Google Analytics