我正在使用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);
响应是BGBAResultadoOperacion
类的实例。
但是Json产生了说"Descripcion":"null"
因为使用的是Framework.4.5,所以我无法使用Json.Net
。
如何获取避免使用null属性的数据?
谢谢
答案 0 :(得分:2)
在使用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
// }