diff --git a/MediaBrowser.Common/Json/JsonDefaults.cs b/MediaBrowser.Common/Json/JsonDefaults.cs index 36ab6d900..c8217f9ab 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; } ///