JSON解析之GSON实现

来源:互联网 发布:mac跳过创建电脑账户 编辑:程序博客网 时间:2024/06/06 08:39

数据对象创建

  • User实体类
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 + "]";    }}
  • Milk实体类
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

原创粉丝点击