gson对各种Java对象与json的转换的支持


package com.test.json;

import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;

public class GsonTest {
public static void main(String[] args) {
Gson gson = new Gson();

Student s1 = new Student();
Student s2 = new Student();

List<Student> list = new ArrayList<Student>();
list.add(s1);
list.add(s2);

Wrapper wrapper = new Wrapper();
wrapper.setList(list);

// bean -> json
String jsonFromBean = gson.toJson(s1);
String jsonFromList = gson.toJson(list);
String jsonFromWrapper = gson.toJson(wrapper);

System.out.println(jsonFromBean);
System.out.println(jsonFromList);
System.out.println(jsonFromWrapper);

// json -> bean
Student beanFromJson = gson.fromJson(jsonFromBean, Student.class);
List<Student> listFromJson = gson.fromJson(jsonFromList,
new TypeToken<List<Student>>() {
}.getType());//这里有点小复杂
Wrapper wrapperFromJson = gson.fromJson(jsonFromWrapper, Wrapper.class);

System.out.println(beanFromJson);
System.out.println(listFromJson);
System.out.println(wrapperFromJson);
}

}

class Student {
@SerializedName("姓名")
private String name = "+++";

@SerializedName("性别")
private String sex = "男";

@Override
public String toString() {
return "Student [name=" + name + ", sex=" + sex + "]";
}

}

class Wrapper {

@SerializedName("学生列表")
private List<Student> list;

public void setList(List<Student> list) {
this.list = list;
}

@Override
public String toString() {
return "Wrapper [list=" + list + "]";
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值