ServiceStack.Text 在輸出Json的優良表現

  • 2918
  • 0
  • C#
  • 2013-08-18

摘要: ServiceStack.Text 在Json的優良表現

目前在Serialize Json format 時 , 有時候會使用 BCL ( base class library ) , 

 

例如 DataContractJsonSerializer  或者 JavascriptSerializer , 也可能會去使用 Third Party 元件 , 

 

例如 Json.Net  , 這麼多樣的選擇 , 我們通常會選擇在 Serialize 和 Deserialize 表現上比較好

 

以及輸出 size 比較小的元件來使用 ,

 

黑暗執行緒大大曾經發表了一篇關於前述元件的效能表現以及優缺點 , 網址

 

而本文主要想要介紹 ServiceStatck 裡面的 ServiceStack.Text 的序列化方法 , 

 

其效能表現優異 , 可詳見本文 , 此篇文章比較了 Json.Net , ServiceStack.Text ,

 

DataContractSerializer , JavascriptSerializer , SimpleJson  , 或者此篇文章

 

下面的 code demo 了操作的方法 , 相當簡單

 


  Member mem = new Member() { 
            Id = "123",
            pwd = "123",
            age = 18
        
        };

        var result = mem.ToJson();

        Response.Write(result);


 public class Member{
        
     public string Id {get;set;}
     public string pwd {get;set;}
     public int age {get;set;}

     public Member(){}
    
 }

 

若有些屬性( 如 pwd 屬性)不想要輸出 : 

 


 Member mem = new Member() { 
            Id = "123",
            pwd = "123",
            age = 18
           
        };

        var result = mem.ToJson();

        Response.Write(result);



 [DataContract]
 public class Member{
     
     [DataMember]
     public string Id {get;set;}

    
     public string pwd {get;set;}

     [DataMember]
     public int age { get; set; }

     public Member(){}
}

 

 

資料來源 : 

ServiceStack.Text Github

網址