LongJsonConverter.cs 694 B

12345678910111213141516171819202122232425
  1. using Newtonsoft.Json.Linq;
  2. namespace Admin.NET.Core;
  3. /// <summary>
  4. /// 序列化时long转string(防止js精度溢出)
  5. /// </summary>
  6. public class LongJsonConverter : JsonConverter
  7. {
  8. public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
  9. {
  10. JToken jtoken = JValue.ReadFrom(reader);
  11. return jtoken.Values();
  12. }
  13. public override bool CanConvert(Type objectType)
  14. {
  15. return typeof(System.Int64).Equals(objectType);
  16. }
  17. public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
  18. {
  19. serializer.Serialize(writer, value.ToString());
  20. }
  21. }