如果它是来自 Json/Api 响应 C# 的空 ('') 字符串,则忽略 属性
Ignore property if it is an empty ('') string from Json/Api Response C#
以下是我目前的 json 回复。
{
firstName: "xyz",
lastName: "efh",
id: 123,
key: ''
}
如果 属性 是上述响应中的键等空字符串,如何忽略它。我知道如何在 a 属性 为 null 时忽略它,但在它为空时却不会。
您可以通过扩展 Newtonsoft.Json.JsonConverter 和覆盖来创建自定义转换器
void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
要忽略空字符串,请使用 default value handling option 并将 属性 默认值设置为空字符串
[DefaultValue("")]
public string key { get; set; }
并设置JsonSerializerSettings
如下
new JsonSerializerSettings
{ DefaultValueHandling = DefaultValueHandling.Ignore }
public class Sample
{
[DataMember(EmitDefaultValue = false, IsRequired = false)]
public string Test { get; set; }
}
以下是我目前的 json 回复。
{
firstName: "xyz",
lastName: "efh",
id: 123,
key: ''
}
如果 属性 是上述响应中的键等空字符串,如何忽略它。我知道如何在 a 属性 为 null 时忽略它,但在它为空时却不会。
您可以通过扩展 Newtonsoft.Json.JsonConverter 和覆盖来创建自定义转换器 void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
要忽略空字符串,请使用 default value handling option 并将 属性 默认值设置为空字符串
[DefaultValue("")]
public string key { get; set; }
并设置JsonSerializerSettings
如下
new JsonSerializerSettings
{ DefaultValueHandling = DefaultValueHandling.Ignore }
public class Sample
{
[DataMember(EmitDefaultValue = false, IsRequired = false)]
public string Test { get; set; }
}