39 lines
945 B
C#
39 lines
945 B
C#
using System;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Kreta.Core.JsonConverter
|
|
{
|
|
public class StringTrimConverter : JsonConverter<string>
|
|
{
|
|
public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
|
|
{
|
|
if (reader.TokenType == JsonToken.String)
|
|
{
|
|
var value = (string)reader.Value;
|
|
|
|
if (string.IsNullOrWhiteSpace(value))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return value.Trim();
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
|
|
{
|
|
|
|
if (value is null)
|
|
{
|
|
writer.WriteNull();
|
|
}
|
|
else
|
|
{
|
|
writer.WriteValue(value);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|