diff --git a/MediaBrowser.Common/Json/JsonDefaults.cs b/MediaBrowser.Common/Json/JsonDefaults.cs
index 36ab6d900a..c8217f9ab0 100644
--- a/MediaBrowser.Common/Json/JsonDefaults.cs
+++ b/MediaBrowser.Common/Json/JsonDefaults.cs
@@ -9,6 +9,8 @@ namespace MediaBrowser.Common.Json
///
public static class JsonDefaults
{
+ private static JsonSerializerOptions _defaultOptions;
+
///
/// Gets the default options.
///
@@ -21,20 +23,26 @@ namespace MediaBrowser.Common.Json
/// The default options.
public static JsonSerializerOptions GetOptions()
{
- var options = new JsonSerializerOptions
+ if (_defaultOptions == null)
{
- ReadCommentHandling = JsonCommentHandling.Disallow,
- WriteIndented = false
- };
+ var options = new JsonSerializerOptions
+ {
+ ReadCommentHandling = JsonCommentHandling.Disallow,
+ WriteIndented = false
+ };
- options.Converters.Add(new JsonGuidConverter());
- options.Converters.Add(new JsonInt32Converter());
- options.Converters.Add(new JsonStringEnumConverter());
- options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory());
- options.Converters.Add(new JsonInt64Converter());
- options.Converters.Add(new JsonDoubleConverter());
+ options.Converters.Add(new JsonGuidConverter());
+ options.Converters.Add(new JsonInt32Converter());
+ options.Converters.Add(new JsonStringEnumConverter());
+ options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory());
+ options.Converters.Add(new JsonInt64Converter());
+ options.Converters.Add(new JsonDoubleConverter());
- return options;
+ _defaultOptions = options;
+ return _defaultOptions;
+ }
+
+ return _defaultOptions;
}
///