如果它是Json / Api响应C#中的空('')字符串,则忽略属性#

时间:2018-05-02 07:00:32

标签: c# .net asp.net-web-api c#-4.0 json.net

以下是我目前的json回复。

{
   firstName: "xyz",
   lastName: "efh",
   id: 123,
   key: ''
}

如果属性是一个空字符串,如上面的响应中的键,则如何忽略该属性。我知道当一个属性为null时如何忽略它,但是当它为空时却不知道。

3 个答案:

答案 0 :(得分:0)

您可以通过扩展Newtonsoft.Json.JsonConverter和覆盖来创建自定义转换器     void WriteJson(JsonWriter writer,object value,JsonSerializer serializer)

答案 1 :(得分:0)

要忽略空字符串,请使用default value handling option并将属性默认值设置为空字符串

[DefaultValue("")]
public string key { get; set; }

JsonSerializerSettings集合中,如下所示

new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore }

答案 2 :(得分:0)

public class Sample 
{
    [DataMember(EmitDefaultValue = false, IsRequired = false)]
    public string Test { get; set; }
}