using Newtonsoft.Json; namespace YLErp.Converter { public class StringConverter : JsonConverter { //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); //} ///// ///// 非字符类型,返回原生内容 ///// ///// ///// //private static string GetRawPropertyValue(JsonReader jsonReader) //{ // ReadOnlySpan 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(); } } }