Gson Null對(duì)象支持

gson null對(duì)象支持

gson 生成優(yōu)化的 json 內(nèi)容,默認(rèn)忽略 null 值。但是gsonbuilder使用 gsonbuilder.serializenulls() 方法提供了在 json 輸出中顯示 null 值的標(biāo)志。

gsonbuilder builder = new gsonbuilder();
builder.serializenulls();
gson gson = builder.create();

 

1. 沒(méi)有serializenulls調(diào)用的示例

在c:> gson_workspace中創(chuàng)建名為 gsontester 的java類文件。

文件:gsontester.java

import com.google.gson.gson;  

public class gsontester {
   public static void main(string args[]) {
      gson gson = new gson();  

      student student = new student();
      student.setrollno(1);  
      string jsonstring = gson.tojson(student);

      system.out.println(jsonstring);  
      student = gson.fromjson(jsonstring, student.class);
      system.out.println(student);
   }      
}
class student {
   private int rollno;
   private string name;  

   public int getrollno() {
      return rollno;
   }  
   public void setrollno(int rollno) {
      this.rollno = rollno;
   }  
   public string getname() {
      return name;
   }  
   public void setname(string name) {
      this.name = name;
   }   
   public string tostring() {
      return "student[ name = "+name+", roll no: "+rollno+ "]";
   }
}

驗(yàn)證結(jié)果

使用 javac 編譯器編譯類如下 -

c:\gson_workspace>javac gsontester.java

現(xiàn)在運(yùn)行g(shù)sontester查看結(jié)果 -

c:\gson_workspace>java gsontester

驗(yàn)證輸出。

{"rollno": 1}
student[ name = null, roll no: 1]

 

2. serializenulls調(diào)用的示例

在c:> gson_workspace中創(chuàng)建名為gsontester的java類文件。

文件:gsontester.java

import com.google.gson.gson;
import com.google.gson.gsonbuilder;  

public class gsontester {
   public static void main(string args[]) {
      gsonbuilder builder = new gsonbuilder();
      builder.serializenulls();
      builder.setprettyprinting();
      gson gson = builder.create();  

      student student = new student();
      student.setrollno(1);  
      string jsonstring = gson.tojson(student);

      system.out.println(jsonstring);  
      student = gson.fromjson(jsonstring, student.class);
      system.out.println(student);
   }      
}
class student {
   private int rollno;
   private string name;  

   public int getrollno() {
      return rollno;
   }  
   public void setrollno(int rollno) {
      this.rollno = rollno;
   }  
   public string getname() {
      return name;
   }  
   public void setname(string name) {
      this.name = name;
   }   
   public string tostring() {
      return "student[ name = "+name+", roll no: "+rollno+ "]";
   }
}

驗(yàn)證結(jié)果

使用 javac 編譯器編譯類如下:

c:\gson_workspace>javac gsontester.java

現(xiàn)在運(yùn)行 gsontester 查看結(jié)果:

c:\gson_workspace>java gsontester

驗(yàn)證輸出。

{
   "rollno": 1,
   "name": null
}
student[ name = null, roll no: 1]

下一節(jié):gson 版本支持

gson 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频