Web API ですべての着信文字列値をトリミングするには、次を定義できますNewtonsoft.Json.JsonConverter
。
class TrimmingConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeof(string);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == JsonToken.String)
if (reader.Value != null)
return (reader.Value as string).Trim();
return reader.Value;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var text = (string)value;
if (text == null)
writer.WriteNull();
else
writer.WriteValue(text.Trim());
}
}
次に、これを に登録しApplication_Start
ます。でこれを行う慣例ですが、 of でFormatterConfig
これを行うこともできます。ここにあります:Application_Start
Global.asax.cs
FormatterConfig
public static class FormatterConfig
{
public static void Register(HttpConfiguration config)
{
config.Formatters.JsonFormatter.SerializerSettings.Converters
.Add(new TrimmingConverter());
}
}