簡體   English   中英

C#忽略為空的屬性

[英]c# ignore properties that are null

我正在使用Framewrok 4.5制作C# Web Api Application

該方法檢索一個class這樣定義

 public class BGBAResultadoOperacion { public string Codigo { get; set; } public string Severidad { get; set; } [DataMember(Name = "Descripcion", EmitDefaultValue = false)] public string Descripcion { get; set; } } 

我不需要檢索那些為NULL屬性。 因此,我定義了Descripcion屬性,例如

[DataMember(Name = "Descripcion", EmitDefaultValue = false)]

由於無法從類中刪除屬性,因此將類轉換為Json

 var json = new JavaScriptSerializer().Serialize(response);

其中response是BGBAResultadoOperacion類的實例。

但是Json產生了說"Descripcion":"null"

我無法使用Json.Net因為我正在使用Framework.4.5。

如何檢索數據以避免出現null屬性?

謝謝

使用Newtonsoft.Json進行序列化時,請使用NullValueHandling選項。

從文檔中

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public Person Partner { get; set; }
    public decimal? Salary { get; set; }
}

Person person = new Person
{
    Name = "Nigal Newborn",
    Age = 1
};

string jsonIncludeNullValues = JsonConvert.SerializeObject(person, Formatting.Indented);

Console.WriteLine(jsonIncludeNullValues);
// {
//   "Name": "Nigal Newborn",
//   "Age": 1,
//   "Partner": null,
//   "Salary": null
// }

string jsonIgnoreNullValues = JsonConvert.SerializeObject(person, Formatting.Indented, new JsonSerializerSettings
{
    NullValueHandling = NullValueHandling.Ignore
});

Console.WriteLine(jsonIgnoreNullValues);
// {
//   "Name": "Nigal Newborn",
//   "Age": 1
// }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM