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