DefaultSerializationHelper.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. namespace WatsonTcp
  2. {
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Collections.Specialized;
  6. using System.Linq;
  7. /// <summary>
  8. /// Default serialization helper.
  9. /// </summary>
  10. public class DefaultSerializationHelper : ISerializationHelper
  11. {
  12. #region Public-Members
  13. #endregion
  14. #region Private-Members
  15. #endregion
  16. #region Constructors-and-Factories
  17. /// <summary>
  18. /// Instantiate.
  19. /// </summary>
  20. public DefaultSerializationHelper()
  21. {
  22. InstantiateConverter();
  23. }
  24. #endregion
  25. #region Public-Methods
  26. /// <summary>
  27. /// Deserialize JSON to an instance.
  28. /// </summary>
  29. /// <typeparam name="T">Type.</typeparam>
  30. /// <param name="json">JSON string.</param>
  31. /// <returns>Instance.</returns>
  32. public T DeserializeJson<T>(byte[] json)
  33. {
  34. return MessagePack.MessagePackSerializer.Deserialize<T>(json,MessagePack.MessagePackSerializerOptions.Standard);
  35. }
  36. /// <summary>
  37. /// Serialize object to JSON.
  38. /// </summary>
  39. /// <param name="obj">Object.</param>
  40. /// <param name="pretty">Pretty print.</param>
  41. /// <returns>JSON.</returns>
  42. public byte[] SerializeJson(object obj, bool pretty = true)
  43. {
  44. return MessagePack.MessagePackSerializer.Serialize(obj.GetType(), obj, MessagePack.MessagePackSerializerOptions.Standard);
  45. }
  46. /// <summary>
  47. /// Instantiation method to support fixups for various environments, e.g. Unity.
  48. /// </summary>
  49. public void InstantiateConverter()
  50. {
  51. }
  52. #endregion
  53. #region Private-Methods
  54. #endregion
  55. #region Private-Classes
  56. #endregion
  57. }
  58. }