Java Gson如何处理对象字段?

在此示例中,您将看到Gson库如何处理对象字段。对于将对象字段序列化为JSON字符串,它不需要使用任何注释,它甚至可以读取私有字段。如果您有一个nullvalue字段,它将不会被序列化为JSON字符串。要从序列化中排除某个字段,可以使用transient关键字标记该字段。

在下面的代码段中,我们创建了一个People对象。该对象有一个null名为的值字段age,该字段不会包含在序列化中,因为我们没有为其分配任何值。该secret字段也未序列化,因为我们将其标记为transient关键字。

package org.nhooo.example.google.gson;

import com.google.gson.Gson;

import java.util.Calendar;

public class GsonFieldExample {

    public static void main(String[] args) {

        Calendar dob = Calendar.getInstance();

        dob.set(1980, Calendar.NOVEMBER, 11);

        People people = new People("John", "350 Banana St.", dob.getTime());

        people.setSecret("This is a secret!");

        Gson gson = new Gson();

        String json = gson.toJson(people);

        System.out.println("json = " + json);

    }

}

如果您运行上面的代码,您将看到打印以下行:

json = {"name":"John","address":"350 Banana St.","dateOfBirth":"Nov 11, 1980 8:47:04 AM"}

这是People课程。

package org.nhooo.example.google.gson;

import java.util.Date;

public class People {

    private String name;

    private String address;

    private Date dateOfBirth;

    private Integer age;

    private transient String secret;

    public People(String name, String address, Date dateOfBirth) {

        this.name = name;

        this.address = address;

        this.dateOfBirth = dateOfBirth;

    }

    public String getSecret() {

        return secret;

    }

    public void setSecret(String secret) {

        this.secret = secret;

    }

}

Maven依赖

<!-- http://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar -->

<dependency>

    <groupId>com.google.code.gson</groupId>

    <artifactId>gson</artifactId>

    <version>2.8.0</version>

</dependency>

                       

以上是 Java Gson如何处理对象字段? 的全部内容, 来源链接: utcz.com/z/345237.html

回到顶部