数据对象创建
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
public class Milk {
private String name;
private String brand;
private String type;
private User user;
private String[] color;
private List<User> users;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String[] getColor() {
return color;
}
public void setColor(String[] color) {
this.color = color;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
@Override
public String toString() {
return "Milk [name=" + name + ", brand=" + brand + ", type=" + type
+ ", user=" + user + ", colour=" + Arrays.toString(color)
+ ", users=" + users + "]";
}
}
JavaBean和JSON字符串的互转
public void test01(){
Milk milk = new Milk()
//基本属性
milk.setName("草莓牛奶")
milk.setBrand("银桥")
milk.setType("酸牛奶")
//对象属性
User user = new User()
user.setAge(15)
user.setName("张三")
milk.setUser(user)
//字符串数组属性
String[] color = {"红色","白色","橙色"}
milk.setColor(color)
//对象集合属性
User user01 = new User()
user01.setAge(12)
user01.setName("张三弟")
User user02 = new User()
user02.setName("张三妹")
user02.setAge(11)
List<User> users = new ArrayList<User>()
users.add(user01)
users.add(user02)
milk.setUsers(users)
// 实现javaBean到json数据转换
String gsonString = new Gson().toJson(milk)
System.out.println("gsonString = " + gsonString)
// 实现json到javaBean的转换
Milk milk2 = new Gson().fromJson(gsonString, Milk.class)
List<User> zhangsans = milk2.getUsers()
User ZhangsanMei = zhangsans.get(1)
System.out.println("ZhangsanMei = " + ZhangsanMei)
System.out.println("milk2.getName() = " + milk2.getName())
}
输出
gsonString = {"name":"草莓牛奶","brand":"银桥","type":"酸牛奶","user":{"name":"张三","age":15},"color":["红色","白色","橙色"],"users":[{"name":"张三弟","age":12},{"name":"张三妹","age":11}]}
ZhangsanMei = User [name=张三妹, age=11]
milk2.getName() = 草莓牛奶
所需jar包:gson-2.3.1.jar