JsonOptions.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.Text.Json;
  2. namespace Jellyfin.Server.Models
  3. {
  4. /// <summary>
  5. /// Json Options.
  6. /// </summary>
  7. public static class JsonOptions
  8. {
  9. /// <summary>
  10. /// Gets CamelCase json options.
  11. /// </summary>
  12. public static JsonSerializerOptions CamelCase
  13. {
  14. get
  15. {
  16. var options = DefaultJsonOptions;
  17. options.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
  18. return options;
  19. }
  20. }
  21. /// <summary>
  22. /// Gets PascalCase json options.
  23. /// </summary>
  24. public static JsonSerializerOptions PascalCase
  25. {
  26. get
  27. {
  28. var options = DefaultJsonOptions;
  29. options.PropertyNamingPolicy = null;
  30. return options;
  31. }
  32. }
  33. /// <summary>
  34. /// Gets base Json Serializer Options.
  35. /// </summary>
  36. private static JsonSerializerOptions DefaultJsonOptions => new JsonSerializerOptions();
  37. }
  38. }