本教程仅限于 gsonv2.8.5 + jdk1.8

一、在pom.xml中加入gson的依赖文件

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>

二、书写代码,使用无参构造创建Json格式文本

此处的Person同上次的org.json一样,是一个JavaBean对象

public static String createJsonText(){
        Person person = new Person("絷缘", 23, "male", false, false, new String[]{"Java", "Linux", "JavaScript", "Vue", "SemanticUI", "NodeJS"});
        Gson gson = new Gson();
        return gson.toJson(person);
}

三、书写代码,使用GsonBuilder在创建Json之前设置高级属性

public static String createJsonText(){
        Person person = new Person("絷缘", 23, "male", false, false, new String[]{"Java", "Linux", "JavaScript", "Vue", "SemanticUI", "NodeJS"});
        GsonBuilder gson = new GsonBuilder();
        //设置Json美化显示
        gson.setPrettyPrinting();
        //设置Json中key的首字母全部大写
        gson.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE);
        Gson gs = gson.create();
        return gs.toJson(person);
}

四、书写代码,使用GsonBuilder在创建Json之前拥有格式化日期时间的功能

public static String createJsonText(){
        PersonWithBir person = new PersonWithBir("絷缘", 23, "male", false, false, new String[]{"Java", "Linux", "JavaScript", "Vue", "SemanticUI", "NodeJS"},new Date(System.currentTimeMillis()));
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").setPrettyPrinting().create();
        return gson.toJson(person);
}

五、书写代码,实现解析Json格式文本

person.json需要自己创建置于src目录(普通项目)或resources目录下(Maven项目)

public static void parseJson() throws IOException {
        InputStream is = GsonDemo1.class.getClassLoader().getResourceAsStream("person.json");
        BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        Gson gson = new Gson();
        Person person = gson.fromJson(br, Person.class);
        System.out.println(person);
}

原文作者:絷缘
作者邮箱:zhiyuanworkemail@163.com
原文地址:https://zhiyuandnc.github.io/XXV7UsHKh/
版权声明:本文为博主原创文章,转载请注明原文链接作者信息