欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

web项目中---gson的基本使用

程序员文章站 2022-07-03 16:07:44
...

在开发时,我们经常会用到JSON的数据交换格式,而GSON则是谷歌提供的用来解析Json数据的一个Java类库

1:JSON
JSON是一种轻量级的数据交换格式,可用于数据的转化传输,他易于理解和编写,他的基本结构是对象、数组
2:GSON
GSON这在Java对象和JSON数据之间进行映射的Java类库,他可以将一个和Java对象转化为JSON形式,也可以将JSON形式的字符串转化为Java对象,他具有高效、快速、代码少、简洁、方便解析、使用简单等特点

3:Javabean转json字符串

package com.qcby.aile;


import com.google.gson.Gson;

/**
 * @author aile
 * @time 2019-07-18
 */
public class GSONTest {
    public static class Person {
        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;
        }

        //省略setter getter equals等

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }

    private static void log(String msg) {
        System.out.println(msg);
    }


    public static void main(String[] args) throws Exception {
        Gson gson = new Gson();
        Person person= new Person();
        person.setName("aile");
        person.setAge(23);
        String jsonStr = gson.toJson(person);
        log("---->javabean to jsonStr:" + jsonStr);
    }

}

运行结果:
---->javabean to jsonStr:{“name”:“aile”,“age”:23}

4:json字符串转javabean

        String personJsonStr="{\"name\":\"aile\",\"age\":23}";
        Person person = gson.fromJson(personJsonStr, Person.class);
        log("------->json convert JavaBean:"+person);

结果:
------->json convert JavaBean:Person{name=‘aile’, age=23}

5:List、Map转json字符串

List<String> list = Arrays.asList("1", "2", "3", "5", "5");
        log("---->list convert jsonStr:" + gson.toJson(list));

        Map<String, Object> map = new HashMap<String, Object>();
        map.put("name", "aile");
        map.put("age", "26");
        log("---->map convert jsonStr:" + gson.toJson(map));
    }

运行结果;
---->list convert jsonStr:[“1”,“2”,“3”,“5”,“5”]
---->map convert jsonStr:{“name”:“aile”,“age”:“26”}