Gson 简单用法

Gson 是Google提供的用来将JAVA对象和JSON数据之间映射的JAVA类库。可以将一个JSON字符串转成一个JAVA对象,或者反过来。
更多关于GSON的API可以访问:http://sites.google.com/site/gson/.

package com.pcitc.loop.services.lube.utils.json;

import java.lang.reflect.Type;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

/**
 * JSON转换工具类
 *
 */
public class JsonUtil {

    private static final Gson gson = new GsonBuilder().serializeNulls().create();

    /**
     * Object -> Json
     * 
     * @param src
     * @return
     */
    public static String toJson(final Object src) {
        return gson.toJson(src);
    }

    /**
     * Json -> T
     * 
     * @param json
     * @param classOfT
     * @return
     */
    public static <T> T fromJson(final String json, Class<T> classOfT) {
        return gson.fromJson(json, classOfT);
    }

    public static <T> T fromJson(final String json, Type typeOfT) {
        return gson.fromJson(json, typeOfT);
    }
}


Gson gson = new Gson();
User user = new User();
user.setName("lisi");
user.setAge(23);
// 将UserBean转换JSON字符串
String json = gson .toJSON(user);
System.out.println("简单的Bean转换为Json=" +json);

结果: 简单的Bean转换为Json={"name":"lisi","age":23}

Student stu = gson .fromJson(json);
System.out.println("Json转换为简单Bean=" +stu);
结果: Json转换为简单Bean=Student [name=lisi,age=23]

---------带泛型的List之间的转化-----------------
User user2 = new User();
user.setName("张三");
user.setAge(24);

User user3 = new User();
user.setName("哈韩");
user.setAge(25);

List<User> list = new ArrayList<User>();
list.add(user);
list.add(user2);
list.add(user3);

--------用户集合转换为json字符串-------
String json2 = gson .toJSON(list);
System.out.println("带泛型的List转换Json==" +json2);

结果: 带泛型的List转换Json==[{"name":"lisi","age":23},{"name:"张三","age":24},{"name":"哈韩","age":"25"}]

-------json转带泛型的list------

List<User> list_user = gson.fromJson(json2,new TypeToken<List<User>>() {}.getType());

for(List lu list_user){
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值