using Newtonsoft.Json.Linq; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Wood.Util { public class NullableLongToStringJsonConverter : JsonConverter { /// /// 反序列化 /// /// /// /// /// /// /// public override long? ReadJson(JsonReader reader, Type objectType, long? existingValue, bool hasExistingValue, JsonSerializer serializer) { var jt = JValue.ReadFrom(reader); if (jt.IsEmpty()) return null; return jt.Value(); } /// /// 序列化 /// /// /// /// public override void WriteJson(JsonWriter writer, long? value, JsonSerializer serializer) { if(value==0) serializer.Serialize(writer, null); else serializer.Serialize(writer, value?.ToString()); } } }