美文网首页
GOSN 学习笔记

GOSN 学习笔记

作者: 豆豆先生的小屋 | 来源:发表于2016-06-05 17:07 被阅读182次

    GSON是GOOGLE提供的用来在javaBean和JSON数据之间进行转换的一个类库,要使用这个类库的话需要导入gson.jar
    这是下载地址:GSON DOWNLOAD

    JavaBean 转换为JSON

    下面是jabaBean的结构

    public class Person {
        private String name;
        private int age;
        @Override
        public String toString() {
            return this.name+":"+this.age;
        }
    }
    
    

    只需要几行代码就可以转换成功了

    Person p = new Person("kati",33);
    Gson gson = new Gson();
    String jsonData = gson.toJson(p);
    System.out.println(jsonData);
    
    
    {"name":"kati","age":33}
    

    你没看错,就是这么简单!!!

    JSON转换为JavaBean

    依然如此简单

    String jsonData = "{'name':'Cat','age':21}";
    Person p = gson.fromJson(jsonData, Person.class);
    

    上面都是单个javaBean和JSON 之间的转换
    下面我们来看看对象集合与JSON之间的转换

    javaBean数组转JSON

    首先来声明一个对象数组

    Person p1 = new Person("kati",33);
    Person p2 = new Person("Scoot",13);
    Person p3 = new Person("Andy",34);
    Person[] pArray = {p1,p2,p3};
    String jsonData = gson.toJson(pArray);
    System.out.println(jsonData);
    
    [{"name":"kati","age":33},{"name":"Scoot","age":13},{"name":"Andy","age":34}]
    
    List集合转换为JSON
    List<Person> pList = new ArrayList<Person>();
    pList.add(p1);
    pList.add(p2);
    pList.add(p3);
    String jsonData = gson.toJson(pList);
    System.out.println(jsonData);
    
    [{"name":"kati","age":33},{"name":"Scoot","age":13},{"name":"Andy","age":34}]
    
    JSON转换为数组
    String jsonData = "[{"name":"kati","age":33},{"name":"Scoot","age":13},{"name":"Andy","age":34}]";
    Person[] persons = gson.fromJson(jsonData, Person[].class);
    //此时可以把调用Arrays的静态方法将数组转化为list集合
    //List<Person>pList = Arrays.asList(persons);
    
    JSON转换为集合
    //导包的时候会有很多个Type包 不要导错了 当让导错了IDE会自动报错的
    //import com.google.gson.Gson;
    //import com.google.gson.reflect.TypeToken;
    Type listType = new TypeToken<ArrayList<Person>>(){}.getType();
    List<Person>persons = gson.fromJson(jsonData, listType);
    

    相关文章

      网友评论

          本文标题:GOSN 学习笔记

          本文链接:https://www.haomeiwen.com/subject/bmdrdttx.html