Files
zszq-trs/Framework/SharedWebApi/Converters/StringConverter.cs
T
2024-05-09 14:06:26 +08:00

51 lines
1.6 KiB
C#

using Newtonsoft.Json;
namespace YLErp.Converter
{
public class StringConverter : JsonConverter<string>
{
//public override string? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
//{
// if (reader.TokenType == JsonTokenType.String)
// {
// return reader.GetString();
// }
// else
// {
// //非字符类型,返回原生内容
// return GetRawPropertyValue(reader);
// }
//}
//public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
//{
// writer.WriteStringValue(value);
//}
///// <summary>
///// 非字符类型,返回原生内容
///// </summary>
///// <param name="jsonReader"></param>
///// <returns></returns>
//private static string GetRawPropertyValue(JsonReader jsonReader)
//{
// ReadOnlySpan<byte> utf8Bytes = jsonReader.HasValueSequence ?
// jsonReader.ValueSequence.ToArray() :
// jsonReader.ValueSpan;
// return Encoding.UTF8.GetString(utf8Bytes);
//}
public override void WriteJson(JsonWriter writer, string? value, JsonSerializer serializer)
{
writer.WriteValue(value);
}
public override string? ReadJson(JsonReader reader, Type objectType, string? existingValue, bool hasExistingValue, JsonSerializer serializer)
{
return reader.ReadAsString();
}
}
}