38 lines
1016 B
C#
38 lines
1016 B
C#
using Newtonsoft.Json;
|
|
|
|
namespace YLErp.Converter2
|
|
{
|
|
public class QuotedByteConverter : JsonConverter<byte>
|
|
{
|
|
public override byte ReadJson(JsonReader reader, Type objectType, byte existingValue, bool hasExistingValue, JsonSerializer serializer)
|
|
{
|
|
|
|
if (reader.TokenType == JsonToken.Null)
|
|
{
|
|
return existingValue;
|
|
}
|
|
else
|
|
{
|
|
var str = reader.Value?.ToString();
|
|
if (string.IsNullOrEmpty(str))
|
|
{
|
|
return existingValue;
|
|
}
|
|
|
|
if (byte.TryParse(str, out var number))
|
|
{
|
|
return number;
|
|
}
|
|
else
|
|
{
|
|
return existingValue;
|
|
}
|
|
}
|
|
}
|
|
|
|
public override void WriteJson(JsonWriter writer, byte value, JsonSerializer serializer)
|
|
{
|
|
writer.WriteValue(value);
|
|
}
|
|
}
|
|
} |