欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

gson轉(zhuǎn)json的時候null的值就沒

方一強2年前9瀏覽0評論

GSON是Google提供的一種用于Java對象序列化的開源庫,它可以用來將Java實體對象轉(zhuǎn)換成符合JSON規(guī)范格式的字符串。但是在使用GSON轉(zhuǎn)換Java對象時,如果對象中存在值為null的屬性,轉(zhuǎn)換后的JSON數(shù)據(jù)中該屬性會被忽略,即不會被轉(zhuǎn)換為JSON字符串中的鍵值對。

//定義一個Java實體類
public class Person{
private String name;
private Integer age;
private String address;
//省略getter和setter方法
}
Person person = new Person();
person.setName("小明");
person.setAge(null);
person.setAddress("北京市");
Gson gson = new Gson();
String json = gson.toJson(person);
System.out.println(json);

上述代碼中,我們創(chuàng)建了一個Person對象,并將其中的age屬性設(shè)置為null,然后使用GSON將該對象轉(zhuǎn)換為JSON字符串。運行后,打印出來的JSON字符串如下:

{"name":"小明","address":"北京市"}

我們可以看到,轉(zhuǎn)換后的JSON字符串中,age這個屬性被忽略了。

如果我們需要在JSON字符串中保留屬性為null的字段,可以在轉(zhuǎn)換時設(shè)置GSON的Null值處理策略。GSON提供了三種Null值處理策略:

  1. DEFAULT:默認(rèn)模式,會將null值忽略掉,不會被轉(zhuǎn)換為JSON字符串中的鍵值對。
    Gson gson = new GsonBuilder()
    .setNullSerializationPolicy(NullSerializationPolicy.DEFAULT)
    .create();
  2. INCLUDE:將null值包含在序列化結(jié)果中,會將null值轉(zhuǎn)換為JSON字符串中的null值。
    Gson gson = new GsonBuilder()
    .setNullSerializationPolicy(NullSerializationPolicy.INCLUDE)
    .create();
  3. SKIP:跳過null值不予處理,即便屬性值是null也不再JSON字符串中生成該屬性的鍵值對。
    Gson gson = new GsonBuilder()
    .setNullSerializationPolicy(NullSerializationPolicy.SKIP)
    .create();

通過設(shè)置Null值處理策略,我們就能夠在GSON轉(zhuǎn)換JSON字符串時保留null值字段了。