Gson create and parse Json

Disclaimer: This article is a blogger original article, shall not be reproduced without the bloggers allowed. https://blog.csdn.net/wfk2975019671/article/details/90004677

Courses Address: https://www.imooc.com/learn/523
Gson is an open source google Json parsing library development, as well as the latest version of the source code can be viewed on the official GitHub: https://github.com/google/gson

Maven relies
<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.5</version>
</dependency>
Creating javaBean
package bean;

import com.google.gson.annotations.SerializedName;

import java.util.Arrays;

/**
 * @Description
 * @auther mohuani
 * @create 2019-05-08 23:00
 */
public class Diaosi {

//    @SerializedName("NAME")  // 通过注解将属性name变成NAME
    private String name;
    private String school;
    private boolean has_girlfriend;
    private double age;
    private Object car;
    private Object house;
    private String[] major;
    private String comment;
    private String birthday;


	// 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程
    private transient String ignore;

    public String getIgnore() {
        return ignore;
    }

    public void setIgnore(String ignore) {
        this.ignore = ignore;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public boolean isHas_girlfriend() {
        return has_girlfriend;
    }

    public void setHas_girlfriend(boolean has_girlfriend) {
        this.has_girlfriend = has_girlfriend;
    }

    public double getAge() {
        return age;
    }

    public void setAge(double age) {
        this.age = age;
    }

    public Object getCar() {
        return car;
    }

    public void setCar(Object car) {
        this.car = car;
    }

    public Object getHouse() {
        return house;
    }

    public void setHouse(Object house) {
        this.house = house;
    }

    public String[] getMajor() {
        return major;
    }

    public void setMajor(String[] major) {
        this.major = major;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    @Override
    public String toString() {
        return "Diaosi{" +
                "name='" + name + '\'' +
                ", school='" + school + '\'' +
                ", has_girlfriend=" + has_girlfriend +
                ", age=" + age +
                ", car=" + car +
                ", house=" + house +
                ", major=" + Arrays.toString(major) +
                ", comment='" + comment + '\'' +
                ", birthday='" + birthday + '\'' +
                '}';
    }
}

ps: keyword transient if an instance variables declared transient, when the object is stored, its value need not be maintained. In other words, it is with transient member variables keyword tag is not involved in the sequencing process.

Generate json
package gson;

import bean.Diaosi;
import com.google.gson.FieldNamingStrategy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.lang.reflect.Field;

/**
 * @Description
 * @auther mohuani
 * @create 2019-05-09 0:15
 */
public class GsonCreateSample {
    public static void main(String[] args) {
        Diaosi diaosi = new Diaosi();
        diaosi.setName("wfk");
        diaosi.setAge(25.2);
        diaosi.setBirthday("1996-07-01");
        diaosi.setSchool("蓝翔");
        diaosi.setMajor(new String[] {"理发", "挖掘机"});
        diaosi.setHas_girlfriend(true);
        diaosi.setCar(null);
        diaosi.setHouse(null);
        diaosi.setComment("这是一个注释1");
        diaosi.setIgnore("忽略这条属性");

        Gson gson = new Gson();
        System.out.println(gson.toJson(diaosi));

        // 美化调试
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.setPrettyPrinting();
        gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy() {
            @Override
            public String translateName(Field field) {
                // 将原有的属性name变成NAME
                if (field.getName().equals("name")) {
                    return "NAME";
                }
                return field.getName();
            }
        });
        Gson gson1 = gsonBuilder.create();
        System.out.println(gson1.toJson(diaosi));
    }
}

Guess you like

Origin blog.csdn.net/wfk2975019671/article/details/90004677